循環小数を既約分数に、分数を循環小数に変換します。「10n倍して引く」途中式と、分母の素因数分解による「有限小数になるか」の判定つき。整数を桁のまま計算するので、桁の多い数でも丸め誤差が出ません。
既約分数 a/b(b>0)は、分母 b の素因数が 2 と 5 だけなら有限小数、それ以外の素因数を含むと循環小数になります。小数点のあと循環が始まるまでの桁数は、b に含まれる 2 と 5 の指数の大きいほう、循環節の長さは 10k を b' で割った余りが 1 になる最小の k です(b' は b から 2 と 5 を除いた数)。
入力の上限:小数は数字60桁まで、分子は30桁、分母は12桁まで。循環節の表示は5,000桁までです。計算はブラウザ内だけで行います。
0.1(36) のような循環小数を既約分数に、3/22 のような分数を循環小数に変換します。10のn乗倍して引く途中式と、分母の素因数分解で有限小数になるかの判定も表示します。
3/22 です。1000x − 10x = 136.36… − 1.36… = 135 から x = 135/990 = 3/22 になります。「小数」に 0.1(36) と入れると途中式が確認できます。
x = 0.(9) とおくと 10x − x = 9 となり、x = 1 です。例ボタンの 0.(9) で途中式を確認できます。
既約分数にしたとき、分母の素因数が2と5だけなら有限小数になります。たとえば 7/40 は 40 = 2^3 × 5 なので有限小数(0.175)です。分母を入れると判定が表示されます。
142857 の6桁です。「分数 → 循環小数」で分子1・分母7を入れると、循環節の長さが表示されます。