§C3.8循環小数の周期と位数

最終更新

本記事は、22でも55でもない素数ppについて、1p\dfrac1pの小数展開が小数点の直後から循環し、その循環節の長さが法ppにおける1010の位数に等しいことを示します。ppが22でも55でもないという条件は落とすことができません。分母が22や55を因数に持つ場合には、循環しない部分が小数点の直後に生じるからです。本記事は、その場合も扱い、循環しない部分の長さが何によって決まるかを述べます。

証明に用いる道具は、位数と原始根で扱う位数と、フェルマーの小定理とオイラーの定理で扱うフェルマーの小定理です。本記事は、これらを導入し直さずに用います。

1 小数展開を書き出す

例 1.1 (分数の小数展開). いくつかの分数の小数展開は、次のとおりである。

13=0.3‾,17=0.142857‾,111=0.09‾,113=0.076923‾,16=0.16‾,128=0.03571428‾.\begin{aligned} \frac13 &= 0.\overline{3}, & \frac17 &= 0.\overline{142857}, & \frac1{11} &= 0.\overline{09}, \\[4pt] \frac1{13} &= 0.\overline{076923}, & \frac16 &= 0.1\overline{6}, & \frac1{28} &= 0.03\overline{571428}. \end{aligned}

ここで、上に線を引いた部分が繰り返される。13\dfrac13、17\dfrac17、111\dfrac1{11}、113\dfrac1{13}では小数点の直後から繰り返しが始まるが、16\dfrac16では11桁、128\dfrac1{28}では22桁の繰り返さない部分がある。

繰り返さない部分が生じているのは、分母が6=2⋅36 = 2 \cdot 3、28=22⋅728 = 2^2 \cdot 7と、22を因数に持つ場合です。分母が33、77、1111、1313のときには、繰り返さない部分がありません。また、繰り返す部分の長さは順に11、66、22、66であり、これは101≡1(mod3)10^1 \equiv 1 \pmod 3、106≡1(mod7)10^6 \equiv 1 \pmod 7、102≡1(mod11)10^2 \equiv 1 \pmod{11}、106≡1(mod13)10^6 \equiv 1 \pmod{13}を満たす最小の指数と一致しています。そこで、繰り返す部分の長さが法nnにおける1010の位数で決まり、繰り返さない部分の長さが分母に含まれる22と55で決まる、と予想することができます。以下では、この予想を証明すべき主張として書き下し、証明します。上の六つの計算は予想を立てる手段であって、すべての場合についての証明ではありません。

2 用語と表示の約束を定める

定義 2.1 (純循環小数と混合循環小数).00より大きく11より小さい実数α\alphaの小数展開が、ある正の整数ℓ\ellについて第11桁目から先で長さℓ\ellの繰り返しになっているとき、α\alphaを純循環小数といい、繰り返されるℓ\ell桁の並びを循環節という。循環節の長さのうち最小のものを、α\alphaの循環節の長さという。

α\alphaの小数展開が、はじめのkk桁(k≥1k \ge 1)の後の第k+1k+1桁目から先で繰り返しになっているとき、α\alphaを混合循環小数といい、はじめのkk桁のうち最小のkkに対応する部分を非循環部分という。

注意 2.2 (表示を一つに定める約束). 有限小数には、末尾に99が無限に続く第二の小数展開がある。たとえば0.5=0.4999⋯0.5 = 0.4999\cdotsである。本記事では、この99が無限に続く表示を採らない。この約束をしないと、循環節の長さが一つに定まらない。なお、本記事の主定理が扱う1p\dfrac1p(ppは22でも55でもない素数)は有限小数ではないので、この約束によって主定理の内容が変わることはない。

3 分母が1010と互いに素である場合

まず、非循環部分が生じない場合を完全に決めます。位数は、gcd⁡(10,n)=1\gcd(10,n) = 1のときに10t≡1(modn)10^t \equiv 1 \pmod nを満たす最小の正の整数ttとして定まり、ord⁡n(10)\operatorname{ord}_n(10)と書きます。

定理 3.1 (純循環になる条件と循環節の長さ).nnを22以上の整数、mmを0<m<n0 < m < nかつgcd⁡(m,n)=1\gcd(m,n) = 1を満たす整数とする。このとき次が成り立つ。

  1. mn\dfrac{m}{n}が純循環小数であることとgcd⁡(n,10)=1\gcd(n,10) = 1であることとは、同値である。
  2. gcd⁡(n,10)=1\gcd(n,10) = 1であるとき、mn\dfrac{m}{n}の循環節の長さはord⁡n(10)\operatorname{ord}_n(10)に等しい。

証明.gcd⁡(n,10)=1\gcd(n,10) = 1とし、ℓ=ord⁡n(10)\ell = \operatorname{ord}_n(10)とおきます。10ℓ≡1(modn)10^\ell \equiv 1 \pmod nであるから、10ℓ−1=nq10^\ell - 1 = nqを満たす正の整数qqが存在します。このとき

mn=mqnq=mq10ℓ−1\frac{m}{n} = \frac{mq}{nq} = \frac{mq}{10^\ell - 1}

です。A=mqA = mqとおくと、0<m<n0 < m < nより0<A<nq=10ℓ−10 < A < nq = 10^\ell - 1です。等比級数

110ℓ−1=10−ℓ1−10−ℓ=∑j≥110−jℓ\frac{1}{10^\ell - 1} = \frac{10^{-\ell}}{1 - 10^{-\ell}} = \sum_{j \ge 1} 10^{-j\ell}

を用いると、mn=∑j≥1A⋅10−jℓ\dfrac{m}{n} = \sum_{j \ge 1} A \cdot 10^{-j\ell}となります。AAをℓ\ell桁で書いたもの(ℓ\ell桁に満たない場合は上位に00を補ったもの)をa1a2⋯aℓa_1 a_2 \cdots a_\ellとすると、この和は0.a1a2⋯aℓ‾0.\overline{a_1 a_2 \cdots a_\ell}です。よってmn\dfrac{m}{n}は純循環小数であり、長さℓ\ellの循環節を持ちます。

逆に、mn\dfrac{m}{n}が長さttの循環節を持つ純循環小数であるとします。小数点をtt桁ずらすと同じ小数部分が現れるので、10t⋅mn−mn10^t \cdot \dfrac{m}{n} - \dfrac{m}{n}は整数です。すなわちnnはm(10t−1)m(10^t - 1)を割り切ります。gcd⁡(m,n)=1\gcd(m,n) = 1であるから、素因数分解の一意性によりnnは10t−110^t - 1を割り切ります。とくにgcd⁡(n,10)=1\gcd(n,10) = 1です。さらに10t≡1(modn)10^t \equiv 1 \pmod nであるから、位数の性質によりℓ\ellはttを割り切り、t≥ℓt \ge \ellです。

以上により、gcd⁡(n,10)=1\gcd(n,10) = 1であれば長さℓ\ellの循環節が存在し、どの循環節の長さもℓ\ell以上であるから、循環節の長さはℓ\ellです。また、純循環であればgcd⁡(n,10)=1\gcd(n,10) = 1であることも示されました。▨

素数の場合に書き下すと、次のようになります。

定理 3.2 (1/p1/pの循環節の長さ).ppを22でも55でもない素数とする。このとき1p\dfrac1pは純循環小数であり、その循環節の長さはord⁡p(10)\operatorname{ord}_p(10)に等しい。

証明.ppは22でも55でもない素数であるからgcd⁡(p,10)=1\gcd(p,10) = 1であり、0<1<p0 < 1 < pとgcd⁡(1,p)=1\gcd(1,p) = 1が成り立ちます。したがって定理 3.1をm=1m = 1、n=pn = pに適用することができます。▨

4 循環節の長さはp−1p-1を割り切る

公式 4.1 (循環節の長さが割り切るもの).ppを22でも55でもない素数とすると、1p\dfrac1pの循環節の長さはp−1p-1を割り切る。とくに、循環節の長さはp−1p-1以下である。

証明.ppは1010を割り切らないので、フェルマーの小定理により10p−1≡1(modp)10^{p-1} \equiv 1 \pmod pです。位数の性質によりord⁡p(10)\operatorname{ord}_p(10)はp−1p-1を割り切ります。定理 3.2により、これが循環節の長さです。▨

例 4.2 (素数ごとの循環節の長さ).22でも55でもない小さい素数について、ord⁡p(10)\operatorname{ord}_p(10)と1p\dfrac1pの循環節を並べると、次のようになる。

pp p−1p-1 ord⁡p(10)\operatorname{ord}_p(10) 1p\dfrac1p
33 22 11 0.3‾0.\overline{3}
77 66 66 0.142857‾0.\overline{142857}
1111 1010 22 0.09‾0.\overline{09}
1313 1212 66 0.076923‾0.\overline{076923}
1717 1616 1616 0.0588235294117647‾0.\overline{0588235294117647}
3737 3636 33 0.027‾0.\overline{027}

どの行でもord⁡p(10)\operatorname{ord}_p(10)がp−1p-1を割り切っている。p=7p = 7とp=17p = 17では循環節の長さがp−1p-1に等しく、p=11p = 11、p=13p = 13、p=37p = 37ではp−1p-1より真に小さい。

循環節の長さがp−1p-1に等しくなるのは、1010が法ppの原始根である場合です。p−1p-1を割り切るという公式 4.1の主張は、どの素数についても成り立ちますが、等号がいつ成り立つかは、ppごとに1010の位数を調べなければ分かりません。

5 分母が22または55を因数に持つ場合

分母が1010と互いに素でない場合には、定理 3.1の 1 により純循環にはなりません。この場合に何が起きるかを述べます。

定理 5.1 (非循環部分の長さ).nnを22以上の整数、mmを0<m<n0 < m < nかつgcd⁡(m,n)=1\gcd(m,n) = 1を満たす整数とする。n=2α5βn′n = 2^\alpha 5^\beta n'(α≥0\alpha \ge 0、β≥0\beta \ge 0、gcd⁡(n′,10)=1\gcd(n',10) = 1)と書き、k=max⁡(α,β)k = \max(\alpha,\beta)とおく。このとき次が成り立つ。

  1. mn\dfrac{m}{n}の小数展開は、第k+1k+1桁目から先で繰り返しになる。k≥1k \ge 1のとき、第kk桁目から先で繰り返しになることはない。すなわち、非循環部分の長さはちょうどkkである。
  2. n′>1n' > 1のとき、第k+1k+1桁目から先の循環節の長さはord⁡n′(10)\operatorname{ord}_{n'}(10)に等しい。n′=1n' = 1のとき、mn\dfrac{m}{n}はkk桁の有限小数である。

証明.j≥0j \ge 0を整数とします。mn\dfrac{m}{n}の小数展開が第j+1j+1桁目から先で繰り返しになることは、10j⋅mn10^j \cdot \dfrac{m}{n}の小数部分が純循環小数であるか、または00であることと同じです。

10jmn10^j \dfrac{m}{n}を既約分数に直します。gcd⁡(m,n)=1\gcd(m,n) = 1であるから、分母はngcd⁡(n,10j)\dfrac{n}{\gcd(n,10^j)}であり、これは

2max⁡(α−j, 0)⋅5max⁡(β−j, 0)⋅n′2^{\max(\alpha - j,\,0)} \cdot 5^{\max(\beta - j,\,0)} \cdot n'

に等しくなります。この分母をdjd_jと書きます。

小数部分が00になるのはdj=1d_j = 1の場合であり、それはj≥kj \ge kかつn′=1n' = 1と同じです。小数部分が00でないときは、その小数部分は分母がdjd_j、分子がdjd_jと互いに素である真分数であるから、定理 3.1の 1 を適用することができ、純循環小数であるための条件はgcd⁡(dj,10)=1\gcd(d_j, 10) = 1です。gcd⁡(n′,10)=1\gcd(n',10) = 1であるから、この条件はα≤j\alpha \le jかつβ≤j\beta \le j、すなわちj≥kj \ge kと同じです。

いずれの場合も、mn\dfrac{m}{n}の小数展開が第j+1j+1桁目から先で繰り返しになるための条件はj≥kj \ge kです。したがって、繰り返しが始まる位置の最小値はj=kj = kに対応し、非循環部分の長さはちょうどkkです。これが 1 です。

j=kj = kのとき、既約分数の分母はn′n'です。n′>1n' > 1であれば、定理 3.1の 2 により、10kmn10^k \dfrac{m}{n}の小数部分の循環節の長さはord⁡n′(10)\operatorname{ord}_{n'}(10)です。n′=1n' = 1であれば10kmn10^k \dfrac{m}{n}は整数であり、mn\dfrac{m}{n}はkk桁の有限小数です。これが 2 です。▨

例 5.2 (非循環部分を持つ場合).16\dfrac16ではn=6=21⋅3n = 6 = 2^1 \cdot 3であるからα=1\alpha = 1、β=0\beta = 0、n′=3n' = 3であり、k=1k = 1である。ord⁡3(10)=1\operatorname{ord}_3(10) = 1であるから、非循環部分が11桁、循環節の長さが11となる。実際16=0.16‾\dfrac16 = 0.1\overline{6}である。

128\dfrac1{28}ではn=28=22⋅7n = 28 = 2^2 \cdot 7であるからα=2\alpha = 2、β=0\beta = 0、n′=7n' = 7であり、k=2k = 2である。ord⁡7(10)=6\operatorname{ord}_7(10) = 6であるから、非循環部分が22桁、循環節の長さが66となる。実際128=0.03571428‾\dfrac1{28} = 0.03\overline{571428}である。

120\dfrac1{20}ではn=20=22⋅5n = 20 = 2^2 \cdot 5であるからα=2\alpha = 2、β=1\beta = 1、n′=1n' = 1であり、k=2k = 2である。n′=1n' = 1であるから120=0.05\dfrac1{20} = 0.05は22桁の有限小数である。

前提記事