Мне нужно написать программу на питоне, которая, учитывая целое число в качестве входных данных, вычисляет цифру в непрерывной строке натуральных чисел, начиная с 1 и продолжая до бесконечности (например, 12345678910111213141516171819202122 и т. д.) Так, например, если мы вводим 17, он вычисляет 17-я цифра в этом ряду, то есть 3.
Я написал программу, которая может вычислять до 189-й цифры, но мне нужно сделать это для очень большого числа (до позиции 2 ** 31-1)
def digit_finder():
if pos < 10: #Position is equal to digit.
digit=pos
return(digit)
elif pos >= 10 en pos < 189: #Number between 10 and 99.
number=(pos-9)
if pos%2==0:
new_number=(10+(number//2))
digit=(new_number//10)
return digit
else:
new_number=(9+(number//2))
digit=(new_number-((new_number//10)*10))
return digit
Я не знаю, как продолжить это для больших чисел. Пожалуйста помоги !