- print(f"{Decimal( '1')/(Decimal('1')-Decimal('0.1')**1):>30.20f}")
- print(f"{Decimal( '12')/(Decimal('1')-Decimal('0.1')**2):>30.20f}")
- print(f"{Decimal( '123')/(Decimal('1')-Decimal('0.1')**3):>30.20f}")
- print(f"{Decimal('1234')/(Decimal('1')-Decimal('0.1')**4):>30.20f}")
1.11111111111111111111
12.12121212121212121212
123.12312312312312312312
1234.12341234123412341234
$1.11111\cdots =0.1^0+0.1^1+0.1^2+0.1^3+0.1^4+0.1^5\cdots=\displaystyle\frac{1}{1-0.1}$となります。 同様に
$12.1212121212\cdots =0.01^0+0.01^1+0.01^2+0.01^3+0.01^4+0.01^5\cdots=\displaystyle\frac{1}{1-0.01}=\frac{1}{1-0.1^2}$
となります。循環する桁数が1桁の場合は$1$を$1-0.1=0.9$、$1-0.1^2=0.09$で割ればよいことになります。
さらに一般化するとn桁の小数を循環させるためには$1$を$1-0.1^n$で割ればよいことになります。