Очень прошу, объясните пожалуйста, как это нужно решать на python, по возможности максимально просто и понятно!!!
Даны целое число k и последовательность цифр «10111213...9899», в которой выписаны подряд все двузначные числа. Определите k-ю цифру в последовательности.
Формат входных данных
Вводится одно целое число k (1≤k≤180).
Формат выходных данных
Требуется вывести искомую цифру.
входные данные => выходные данные
8 => 3
42 => 0
Answers & Comments
Ответ:
В зависимости от чётности k, k-я цифра может быть из разряда десяток или разряда единиц.
Цифры в разряде единиц повторяются каждые 10 раз --> можно посчитать их количество(k / 2 - 1), взять по модулю 10
Цифры в разряде десяток идут по 10 подряд, считаем сколько их (k / 2) и смотрим, сколько блоков по 10 поместится.
Прикрепил реализацию на плюсах
Объяснение:
#include <iostream>
int main() {
int k;
std::cin >> k;
if (k % 2) {
std::cout << ((k / 2) / 10 + 1) % 10;
} else {
std::cout << (k / 2 - 1) % 10;
}
return 0;
}