入力として整数を指定すると、1 から始まり無限に続く自然数の連続した行の数字を計算するプログラムを Python で作成する必要があります (例: 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
より大きな数のためにそれを続ける方法がわかりません。助けてください !