Предмет: Информатика, автор: frewrx

Очень прошу, объясните пожалуйста, как это нужно решать на python, по возможности максимально просто и понятно!!!

Даны целое число k и последовательность цифр «10111213...9899», в которой выписаны подряд все двузначные числа. Определите k-ю цифру в последовательности.

Формат входных данных
Вводится одно целое число k (1≤k≤180).

Формат выходных данных
Требуется вывести искомую цифру.

входные данные => выходные данные
8 => 3
42 => 0​

Ответы

Автор ответа: hancocksimp
4

Ответ:

В зависимости от чётности 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;

}

Похожие вопросы
Предмет: Русский язык, автор: Елена6641
Предмет: Русский язык, автор: anastasiyasoko3
Предмет: Русский язык, автор: 65810
Предмет: Математика, автор: РомаЛСП