1 小数展開を書き出す
例 1.1 (分数の小数展開). いくつかの分数の小数展開は、次のとおりである。
31131=0.3,=0.076923,7161=0.142857,=0.16,111281=0.09,=0.03571428.ここで、上に線を引いた部分が繰り返される。31、71、111、131では小数点の直後から繰り返しが始まるが、61では1桁、281では2桁の繰り返さない部分がある。
繰り返さない部分が生じているのは、分母が6=2⋅3、28=22⋅7と、2を因数に持つ場合です。分母が3、7、11、13のときには、繰り返さない部分がありません。また、繰り返す部分の長さは順に1、6、2、6であり、これは101≡1(mod3)、106≡1(mod7)、102≡1(mod11)、106≡1(mod13)を満たす最小の指数と一致しています。そこで、繰り返す部分の長さが法nにおける10の位数で決まり、繰り返さない部分の長さが分母に含まれる2と5で決まる、と予想することができます。以下では、この予想を証明すべき主張として書き下し、証明します。上の六つの計算は予想を立てる手段であって、すべての場合についての証明ではありません。
2 用語と表示の約束を定める
定義 2.1 (純循環小数と混合循環小数).0より大きく1より小さい実数αの小数展開が、ある正の整数ℓについて第1桁目から先で長さℓの繰り返しになっているとき、αを純循環小数といい、繰り返されるℓ桁の並びを循環節という。循環節の長さのうち最小のものを、αの循環節の長さという。
αの小数展開が、はじめのk桁(k≥1)の後の第k+1桁目から先で繰り返しになっているとき、αを混合循環小数といい、はじめのk桁のうち最小のkに対応する部分を非循環部分という。
3 分母が10と互いに素である場合
まず、非循環部分が生じない場合を完全に決めます。位数は、gcd(10,n)=1のときに10t≡1(modn)を満たす最小の正の整数tとして定まり、ordn(10)と書きます。
定理 3.1 (純循環になる条件と循環節の長さ).nを2以上の整数、mを0<m<nかつgcd(m,n)=1を満たす整数とする。このとき次が成り立つ。
- nmが純循環小数であることとgcd(n,10)=1であることとは、同値である。
- gcd(n,10)=1であるとき、nmの循環節の長さはordn(10)に等しい。
証明.gcd(n,10)=1とし、ℓ=ordn(10)とおきます。10ℓ≡1(modn)であるから、10ℓ−1=nqを満たす正の整数qが存在します。このとき
nm=nqmq=10ℓ−1mqです。A=mqとおくと、0<m<nより0<A<nq=10ℓ−1です。等比級数
10ℓ−11=1−10−ℓ10−ℓ=j≥1∑10−jℓを用いると、nm=∑j≥1A⋅10−jℓとなります。Aをℓ桁で書いたもの(ℓ桁に満たない場合は上位に0を補ったもの)をa1a2⋯aℓとすると、この和は0.a1a2⋯aℓです。よってnmは純循環小数であり、長さℓの循環節を持ちます。
逆に、nmが長さtの循環節を持つ純循環小数であるとします。小数点をt桁ずらすと同じ小数部分が現れるので、10t⋅nm−nmは整数です。すなわちnはm(10t−1)を割り切ります。gcd(m,n)=1であるから、素因数分解の一意性によりnは10t−1を割り切ります。とくにgcd(n,10)=1です。さらに10t≡1(modn)であるから、位数の性質によりℓはtを割り切り、t≥ℓです。
以上により、gcd(n,10)=1であれば長さℓの循環節が存在し、どの循環節の長さもℓ以上であるから、循環節の長さはℓです。また、純循環であればgcd(n,10)=1であることも示されました。▨
素数の場合に書き下すと、次のようになります。
定理 3.2 (1/pの循環節の長さ).pを2でも5でもない素数とする。このときp1は純循環小数であり、その循環節の長さはordp(10)に等しい。
証明.pは2でも5でもない素数であるからgcd(p,10)=1であり、0<1<pとgcd(1,p)=1が成り立ちます。したがって定理 3.1をm=1、n=pに適用することができます。▨
4 循環節の長さはp−1を割り切る
証明.pは10を割り切らないので、フェルマーの小定理により10p−1≡1(modp)です。位数の性質によりordp(10)はp−1を割り切ります。定理 3.2により、これが循環節の長さです。▨
例 4.2 (素数ごとの循環節の長さ).2でも5でもない小さい素数について、ordp(10)とp1の循環節を並べると、次のようになる。
| p |
p−1 |
ordp(10) |
p1 |
| 3 |
2 |
1 |
0.3 |
| 7 |
6 |
6 |
0.142857 |
| 11 |
10 |
2 |
0.09 |
| 13 |
12 |
6 |
0.076923 |
| 17 |
16 |
16 |
0.0588235294117647 |
| 37 |
36 |
3 |
0.027 |
どの行でもordp(10)がp−1を割り切っている。p=7とp=17では循環節の長さがp−1に等しく、p=11、p=13、p=37ではp−1より真に小さい。
循環節の長さがp−1に等しくなるのは、10が法pの原始根である場合です。p−1を割り切るという公式 4.1の主張は、どの素数についても成り立ちますが、等号がいつ成り立つかは、pごとに10の位数を調べなければ分かりません。
5 分母が2または5を因数に持つ場合
分母が10と互いに素でない場合には、定理 3.1の 1 により純循環にはなりません。この場合に何が起きるかを述べます。
定理 5.1 (非循環部分の長さ).nを2以上の整数、mを0<m<nかつgcd(m,n)=1を満たす整数とする。n=2α5βn′(α≥0、β≥0、gcd(n′,10)=1)と書き、k=max(α,β)とおく。このとき次が成り立つ。
- nmの小数展開は、第k+1桁目から先で繰り返しになる。k≥1のとき、第k桁目から先で繰り返しになることはない。すなわち、非循環部分の長さはちょうどkである。
- n′>1のとき、第k+1桁目から先の循環節の長さはordn′(10)に等しい。n′=1のとき、nmはk桁の有限小数である。
証明.j≥0を整数とします。nmの小数展開が第j+1桁目から先で繰り返しになることは、10j⋅nmの小数部分が純循環小数であるか、または0であることと同じです。
10jnmを既約分数に直します。gcd(m,n)=1であるから、分母はgcd(n,10j)nであり、これは
2max(α−j,0)⋅5max(β−j,0)⋅n′に等しくなります。この分母をdjと書きます。
小数部分が0になるのはdj=1の場合であり、それはj≥kかつn′=1と同じです。小数部分が0でないときは、その小数部分は分母がdj、分子がdjと互いに素である真分数であるから、定理 3.1の 1 を適用することができ、純循環小数であるための条件はgcd(dj,10)=1です。gcd(n′,10)=1であるから、この条件はα≤jかつβ≤j、すなわちj≥kと同じです。
いずれの場合も、nmの小数展開が第j+1桁目から先で繰り返しになるための条件はj≥kです。したがって、繰り返しが始まる位置の最小値はj=kに対応し、非循環部分の長さはちょうどkです。これが 1 です。
j=kのとき、既約分数の分母はn′です。n′>1であれば、定理 3.1の 2 により、10knmの小数部分の循環節の長さはordn′(10)です。n′=1であれば10knmは整数であり、nmはk桁の有限小数です。これが 2 です。▨
例 5.2 (非循環部分を持つ場合).61ではn=6=21⋅3であるからα=1、β=0、n′=3であり、k=1である。ord3(10)=1であるから、非循環部分が1桁、循環節の長さが1となる。実際61=0.16である。
281ではn=28=22⋅7であるからα=2、β=0、n′=7であり、k=2である。ord7(10)=6であるから、非循環部分が2桁、循環節の長さが6となる。実際281=0.03571428である。
201ではn=20=22⋅5であるからα=2、β=1、n′=1であり、k=2である。n′=1であるから201=0.05は2桁の有限小数である。