循環小数と分数(repeating decimals and fractions)とは、分数の小数展開の形を分母から読む話題である。$0\le a<n$ の分数 $\frac an$ を筆算で割ると余りは $n$ 通りしかないので、同じ余りが再び出てそこから数字がくり返し、分数は有限小数か循環小数になる。逆に循環小数は分数に戻せる。既約分数 $\frac an$ の分母を $n=2^\alpha5^\beta m$($m$ は $2$ でも $5$ でも割り切れない)と書くと、有限小数になるのは $m=1$ のときに限り、循環しない部分の長さは $\max(\alpha,\beta)$、循環節の長さは $10^k\equiv1\pmod m$ となる最小の $k$(法 $m$ での $10$ の位数)である。$m\ge2$ のとき、この長さは $\varphi(m)$ の約数である。
分数を小数に直すと、$\dfrac18=0.125$ のように割り切れることもあれば、$\dfrac17=0.142857142857\cdots$ のように同じ数字の並びがくり返すこともある。この記事では、どちらになるか、くり返すならその長さはいくつかが、分母だけで決まることを証明する。まず、高校の教科書と同じ計算を 3 つ見る。
$1\mathbin{÷}7$ を筆算で計算する。各段で、余りに $10$ を掛けて $7$ で割り、商を次の位の数字にする。
| 段 | 割られる数 | 商(数字) | 余り |
|---|---|---|---|
| 1 | $10$ | $1$ | $3$ |
| 2 | $30$ | $4$ | $2$ |
| 3 | $20$ | $2$ | $6$ |
| 4 | $60$ | $8$ | $4$ |
| 5 | $40$ | $5$ | $5$ |
| 6 | $50$ | $7$ | $1$ |
| 7 | $10$ | $1$ | $3$ |
6 段目で余りが最初の $1$ に戻った。7 段目は 1 段目とまったく同じ計算になるので、その後も同じ数字 $1,4,2,8,5,7$ がくり返す。よって
$$
\frac17=0.142857\,142857\,142857\cdots
$$
であり、くり返す部分は $142857$ の $6$ 桁である。
$x=0.272727\cdots$ とおく。$100x=27.272727\cdots$ なので、引き算すると小数部分が消えて
$$
100x-x=27,\qquad 99x=27,\qquad x=\frac{27}{99}=\frac3{11}
$$
である。逆に $3\mathbin{÷}11$ を筆算で割ると、余りは $3\to8\to3\to\cdots$ と $2$ 段でくり返し、数字は $2,7,2,7,\dots$ になる。
この記事で答える問いは次の 4 つである。
| 高校の計算 | この記事の言葉 | 大学の言葉 |
|---|---|---|
| 筆算の余りがくり返す | 余り $r_k$(lem-rdf-remainder) | 法 $n$ で $10$ を掛ける写像 |
| 分母が 2 と 5 だけなら割り切れる | thm-rdf-main の 1 | $10$ の累乗で割り切れる分母 |
| くり返しの長さ | $10$ の位数(thm-rdf-main の 2) | 乗法群 $(\mathbb{Z}/m\mathbb{Z})^\times$ での元の位数 |
| $100x-x$ で分数に直す | prop-rdf-to-fraction | 等比級数の和 |
1/7 と 3/22 を筆算で割ったときの余り r_k(点)と、各段で出る数字(下の赤い数字)。帯の 1 色が 1 回分のくり返しで、3/22 では最初の 1 段(薄い赤)だけがくり返しに入らない
以下、$0\le x<1$ の実数を考える。$x$ の小数第 $k$ 位の数字は、「$x$ を $10^k$ 倍して小数点以下を切り捨てた整数の一の位」である。これを式で書いておく。$\lfloor y\rfloor$ は $y$ 以下の最大の整数(床関数。高校ではガウス記号 $[y]$ と書く)を表す。
$0\le x<1$ の実数 $x$ と正の整数 $k$ に対し
$$
d_k:=\lfloor10^kx\rfloor-10\lfloor10^{k-1}x\rfloor
$$
を $x$ の 小数第 $k$ 位の数字 といい、$x=0.d_1d_2d_3\cdots$ と書く。
$d_k$ がいつも $0$ 以上 $9$ 以下の整数であること、数字の列が同じ 2 つの数は等しいことなどは、実数とは何か:無理数の証明 の「小数展開の存在と一意性」で扱う。この記事では、分数 $x=\dfrac an$ の場合に必要なことを、筆算の余りを使って次の補題で示す。
$n$ を正の整数、$a$ を $0\le a< n$ の整数とし、$x=\dfrac an$ とする。$k\ge0$ について、$10^ka$ を $n$ で割った余りを $r_k$ とする($r_0=a$)。このとき、次が成り立つ。
2 は、筆算で「余りに $10$ を掛けて $n$ で割り、商を次の数字、余りを次の余りにする」ことそのものである。3 は、「$r_k$ から筆算を始め直すと、$x$ の小数第 $k+1$ 位から先の数字が出てくる」ことを言っている。
方針:割り算の商と余りがただ 1 組に決まること(整数の割り算と互除法 の割り算の定理)を、$10^ka$ と $10^{k+1}a$ の割り算に使う。
段 1(1 の証明)。$10^ka$ を $n$ で割った商を $q_k$ とすると $10^ka=nq_k+r_k$、$0\le r_k< n$ である。両辺を $n$ で割ると
$$
10^kx=q_k+\frac{r_k}n,\qquad 0\le\frac{r_k}n<1
$$
である。$q_k$ は整数で、$q_k\le10^kx< q_k+1$ なので、$q_k=\lfloor10^kx\rfloor$ である。
段 2(2 の証明)。$10r_k$ を $n$ で割った商を $e$、余りを $r'$ とすると $10r_k=ne+r'$、$0\le r'< n$ である。段 1 の式を $10$ 倍して代入すると
$$
10^{k+1}a=10nq_k+10r_k=n(10q_k+e)+r'
$$
である。$0\le r'< n$ なので、これは $10^{k+1}a$ を $n$ で割った式であり、商と余りの一意性により $q_{k+1}=10q_k+e$、$r_{k+1}=r'$ である。def-rdf-digit と段 1 により $d_{k+1}=q_{k+1}-10q_k=e$ である。$0\le10r_k<10n$ なので $0\le e\le9$ である。$r_{k+1}=r'=10r_k-ne$ である。
段 3(3 の証明)。$y=\dfrac{r_k}n$ とおく。段 1 により $y=10^kx-q_k$ である。$j\ge0$ について $10^jy=10^{k+j}x-10^jq_k$ で、$10^jq_k$ は整数なので
$$
\lfloor10^jy\rfloor=\lfloor10^{k+j}x\rfloor-10^jq_k
$$
である(整数を引いても、床は同じ整数だけ減る)。これを def-rdf-digit に代入すると、$y$ の小数第 $j$ 位の数字は
$$
\lfloor10^jy\rfloor-10\lfloor10^{j-1}y\rfloor=\bigl(\lfloor10^{k+j}x\rfloor-10^jq_k\bigr)-10\bigl(\lfloor10^{k+j-1}x\rfloor-10^{j-1}q_k\bigr)=d_{k+j}
$$
である。$10^jq_k$ の項が打ち消し合った。
段 4(4 の証明)。$y$ の数字を $e_1,e_2,\dots$ とする。def-rdf-digit の式 $\lfloor10^iy\rfloor=10\lfloor10^{i-1}y\rfloor+e_i$ を $i=1,2,\dots,j$ の順に使うと、$\lfloor y\rfloor=0$ から始めて
$$
\lfloor10^jy\rfloor=e_110^{j-1}+e_210^{j-2}+\cdots+e_j
$$
である。$y'$ も数字が同じなので $\lfloor10^jy'\rfloor=\lfloor10^jy\rfloor$ である。$10^jy$ と $10^jy'$ はどちらも同じ整数 $N$ 以上 $N+1$ 未満にあるので、差は $1$ 未満である。つまり $|y-y'|<10^{-j}$ がすべての $j$ で成り立つ。$|y-y'|>0$ なら、$10^{-j}<|y-y'|$ となる $j$ があるので矛盾する。よって $y=y'$ である。$\square$
$x=\dfrac17$ では、$r_0=1$、$r_1=10-7=3$、$r_2=30-28=2$、$r_3=20-14=6$、$r_4=60-56=4$、$r_5=40-35=5$、$r_6=50-49=1$ である。lem-rdf-remainder の 2 により、数字は $d_1=\lfloor10/7\rfloor=1$、$d_2=\lfloor30/7\rfloor=4$、$d_3=\lfloor20/7\rfloor=2$、$d_4=\lfloor60/7\rfloor=8$、$d_5=\lfloor40/7\rfloor=5$、$d_6=\lfloor50/7\rfloor=7$ である。
lem-rdf-remainder の 3 を $k=2$ で使うと、$\dfrac{r_2}7=\dfrac27$ の数字は $d_3,d_4,\dots=2,8,5,7,1,4,\dots$ である。実際 $\dfrac27=0.285714\cdots$ である。
$0\le x<1$ の数字の列 $d_1,d_2,\dots$ について、整数 $s\ge0$ と $t\ge1$ があって
$$
d_{k+t}=d_k\qquad(k>s\ \text{のすべての}\ k)
$$
が成り立つとき、$x$ は $(s,t)$ で 循環する という。
$\dfrac17=0.\overline{142857}$ のように、循環する部分に線を引いて書く。$\dfrac1{12}=0.08\overline3$ である。
ex-rdf-start-seven では、余りが最初の $1$ に戻ったところから数字がくり返した。これを一般の分数で述べる。
$n$ を正の整数、$a$ を $0\le a< n$ の整数とし、$x=\dfrac an$ の筆算の余りを $r_0,r_1,r_2,\dots$ とする(lem-rdf-remainder)。整数 $s\ge0$、$t\ge1$ について、次の 2 つは同値である。
方針:2 から 1 は、lem-rdf-remainder の 2(次の数字と次の余りは今の余りだけで決まる)を使う。1 から 2 は、lem-rdf-remainder の 3 と 4(同じ数字の列をもつ 2 数は等しい)を使う。
段 1(2 ならば 1)。$r_{s+t}=r_s$ と仮定する。まず、$j\ge0$ のすべてについて $r_{s+t+j}=r_{s+j}$ であることを $j$ についての数学的帰納法で示す。$j=0$ のときは仮定そのものである。ある $j$ で $r_{s+t+j}=r_{s+j}$ とすると、lem-rdf-remainder の 2 により
$$
r_{s+t+j+1}=10r_{s+t+j}-n\left\lfloor\frac{10r_{s+t+j}}n\right\rfloor=10r_{s+j}-n\left\lfloor\frac{10r_{s+j}}n\right\rfloor=r_{s+j+1}
$$
である。よって $j+1$ でも成り立つ。
次に数字を比べる。$j\ge0$ について、lem-rdf-remainder の 2 により
$$
d_{s+t+j+1}=\left\lfloor\frac{10r_{s+t+j}}n\right\rfloor=\left\lfloor\frac{10r_{s+j}}n\right\rfloor=d_{s+j+1}
$$
である。$k=s+j+1$ とおくと、これは $k>s$ のすべての $k$ で $d_{k+t}=d_k$ ということである。よって $x$ は $(s,t)$ で循環する。
段 2(1 ならば 2)。$x$ が $(s,t)$ で循環すると仮定する。lem-rdf-remainder の 3 により、$\dfrac{r_s}n$ の小数第 $j$ 位の数字は $d_{s+j}$、$\dfrac{r_{s+t}}n$ の小数第 $j$ 位の数字は $d_{s+t+j}$ である($j\ge1$)。$s+j>s$ なので、仮定から $d_{s+t+j}=d_{s+j}$ である。つまり $\dfrac{r_s}n$ と $\dfrac{r_{s+t}}n$ は、すべての位で数字が等しい。どちらも $0$ 以上 $1$ 未満なので、lem-rdf-remainder の 4 により $\dfrac{r_s}n=\dfrac{r_{s+t}}n$、すなわち $r_s=r_{s+t}$ である。$\square$
余りは $0$ から $n-1$ までの $n$ 通りしかない。だから、いつかは同じ余りが 2 回出る。
$n$ を正の整数、$a$ を $0\le a< n$ の整数とする。$\dfrac an$ は、$s+t\le n$ をみたすある $(s,t)$ で循環する。特に、$\dfrac an$ は循環小数であり、循環節の長さは $n$ 以下である。
方針:$n+1$ 個の余り $r_0,r_1,\dots,r_n$ を、$n$ 通りの値に振り分ける(部屋割り論法)。
段 1。余り $r_0,r_1,\dots,r_n$ は $n+1$ 個あり、どれも $0,1,\dots,n-1$ の $n$ 通りの値のどれかである。$n+1$ 個を $n$ 通りに振り分けるので、同じ値のものが少なくとも 2 つある。それを $r_i=r_j$($0\le i< j\le n$)とする。
段 2。$s=i$、$t=j-i$ とおくと $t\ge1$、$r_{s+t}=r_j=r_i=r_s$ である。prop-rdf-criterion により、$\dfrac an$ は $(s,t)$ で循環する。$s+t=j\le n$ である。$\square$
cor-rdf-always により、どの分数も循環する。では、循環しない部分の長さと循環節の長さは、分母からどう決まるか。答えには、次の数が現れる。
$m$ を正の整数とし、$m$ は $2$ でも $5$ でも割り切れないとする。このとき、$1\le k\le m$ で $10^k\equiv1\pmod m$ となる整数 $k$ がある。
方針:cor-rdf-always を $\dfrac1m$ に使い、整数の割り算と互除法 の「互いに素な数による割り算」($a\mid bc$ かつ $\gcd(a,b)=1$ なら $a\mid c$)で $10^s$ を取り除く。
段 1。$m=1$ なら、どの整数も $1$ で割り切れるので $k=1$ でよい。以下 $m\ge2$ とする。
段 2。cor-rdf-always を $\dfrac1m$($a=1$、$n=m$)に使うと、$s+t\le m$、$t\ge1$ で $(s,t)$ で循環する組がある。prop-rdf-criterion により $r_{s+t}=r_s$ である。$r_k$ は $10^k$ を $m$ で割った余りなので、$10^{s+t}\equiv10^s\pmod m$、すなわち
$$
m\mid10^{s+t}-10^s=10^s(10^t-1)
$$
である。
段 3。$10^s$ の素因数は $2$ と $5$ だけで、$m$ は $2$ でも $5$ でも割り切れないので、$m$ と $10^s$ に共通の素因数はなく、$\gcd(m,10^s)=1$ である。互いに素な数による割り算により $m\mid10^t-1$、すなわち $10^t\equiv1\pmod m$ である。$1\le t\le s+t\le m$ なので、$k=t$ でよい。$\square$
$m$ を、$2$ でも $5$ でも割り切れない正の整数とする。$10^k\equiv1\pmod m$ をみたす正の整数 $k$ のうち最小のものを、法 $m$ での $10$ の位数 といい、$\operatorname{ord}_m(10)$ と書く。lem-rdf-power-one により、このような $k$ は存在し、$\operatorname{ord}_m(10)\le m$ である。
$10^k$ を $m$ で割った余りを、前の余りに $10$ を掛けて割ることで順に求める(合同式の計算規則)。
| $m$ | $10^1$ | $10^2$ | $10^3$ | $10^4$ | $10^5$ | $10^6$ | $\operatorname{ord}_m(10)$ |
|---|---|---|---|---|---|---|---|
| $3$ | $1$ | $1$ | |||||
| $7$ | $3$ | $2$ | $6$ | $4$ | $5$ | $1$ | $6$ |
| $11$ | $10$ | $1$ | $2$ | ||||
| $13$ | $10$ | $9$ | $12$ | $3$ | $4$ | $1$ | $6$ |
| $41$ | $10$ | $18$ | $16$ | $37$ | $1$ | $5$ |
たとえば $m=41$ では、$100=41\cdot2+18$、$180=41\cdot4+16$、$160=41\cdot3+37$、$370=41\cdot9+1$ である。$m=1$ では $\operatorname{ord}_1(10)=1$ である。
位数は「最小の」$k$ だったが、$10^k\equiv1$ となる $k$ は位数の倍数に限られる。これは 冪の余りの周期と元の位数 の主定理 1 の特別な場合であるが、この記事でも使うので証明しておく。
$m$ を $2$ でも $5$ でも割り切れない正の整数とし、$d=\operatorname{ord}_m(10)$ とする。正の整数 $t$ について、$10^t\equiv1\pmod m$ であることと、$d\mid t$ であることは同値である。
方針:$t$ を $d$ で割った余りを考え、余りが $d$ より小さいことと $d$ の最小性を比べる。
段 1。$t$ を $d$ で割って $t=qd+u$($q\ge0$、$0\le u< d$)とする。$10^d\equiv1$ なので、合同式の計算規則(両辺の累乗・積をとってよい)により
$$
10^t=\left(10^d\right)^q\cdot10^u\equiv1^q\cdot10^u=10^u\pmod m
$$
である。
段 2($d\mid t$ ならば $10^t\equiv1$)。$d\mid t$ なら $u=0$ なので、段 1 により $10^t\equiv10^0=1$ である。
段 3($10^t\equiv1$ ならば $d\mid t$)。$10^t\equiv1$ なら、段 1 により $10^u\equiv1$ である。もし $u\ge1$ なら、$u$ は $10^u\equiv1$ をみたす正の整数で $u< d$ となり、$d$ が最小であることに反する。よって $u=0$、すなわち $d\mid t$ である。$\square$
分数 $\dfrac an$ は既約($\gcd(a,n)=1$)とする。分母 $n$ から素因数 $2$ と $5$ を取り出して
$$
n=2^\alpha5^\beta m\qquad(\alpha,\beta\ge0,\ m\ \text{は}\ 2\ \text{でも}\ 5\ \text{でも割り切れない})
$$
と書く(素因数分解の一意性 により $\alpha,\beta,m$ はただ 1 通りに決まる)。$n=12$ なら $\alpha=2$、$\beta=0$、$m=3$ であり、$n=40$ なら $\alpha=3$、$\beta=1$、$m=1$ である。
$n$ を正の整数、$a$ を $0\le a< n$、$\gcd(a,n)=1$ の整数とし、$n=2^\alpha5^\beta m$ を上のように書く。$s_0=\max(\alpha,\beta)$、$t_0=\operatorname{ord}_m(10)$ とおく。
循環節の長さは分子 $a$ によらず、分母の「$2$ と $5$ 以外の部分」$m$ だけで決まる。循環しない部分の長さは、分母の「$2$ と $5$ の部分」だけで決まる。
方針:prop-rdf-criterion で「$(s,t)$ で循環する」を「$r_{s+t}=r_s$」に直し、それを $n\mid10^s(10^t-1)$ という割り切りの条件に直す。そのあと、$n$ を $2^\alpha5^\beta$ の部分と $m$ の部分に分けて調べる。以下、互いに素な数による割り算(整数の割り算と互除法。$A\mid BC$ かつ $\gcd(A,B)=1$ なら $A\mid C$)を何度も使う。
段 1(割り切りの条件に直す)。$r_k$ は $10^ka$ を $n$ で割った余りなので、$r_{s+t}=r_s$ は $10^{s+t}a\equiv10^sa\pmod n$、すなわち
$$
n\mid10^sa\,(10^t-1)
$$
と同値である。$\gcd(a,n)=1$ なので、互いに素な数による割り算により、これは
$$
n\mid10^s(10^t-1)
$$
と同値である(逆向きは、$10^s(10^t-1)$ の倍数 $10^sa(10^t-1)$ も $n$ で割り切れることから分かる)。prop-rdf-criterion とあわせると、$\dfrac an$ が $(s,t)$ で循環することは $n\mid10^s(10^t-1)$ と同値である。
段 2($n$ を 2 つに分ける)。$N=10^s(10^t-1)$ とおく。$2^\alpha5^\beta$ と $m$ は共通の素因数をもたないので互いに素である。したがって、$n\mid N$ は「$2^\alpha5^\beta\mid N$ かつ $m\mid N$」と同値である。実際、$n\mid N$ ならこの 2 つは成り立つ。逆に 2 つが成り立てば、$N=2^\alpha5^\beta u$ と書けて、$m\mid2^\alpha5^\beta u$、$\gcd(m,2^\alpha5^\beta)=1$ から $m\mid u$ となり、$n=2^\alpha5^\beta m\mid N$ である。
段 3($2^\alpha5^\beta$ の部分)。$10^t-1$ は一の位が $9$ なので、$2$ でも $5$ でも割り切れない。$s\ge\alpha$ かつ $s\ge\beta$ なら、$2^\alpha5^\beta$ は $2^s5^s=10^s$ を割るので $N$ も割る。逆に $2^\alpha5^\beta\mid N$ とする。$2^\alpha\mid N=2^s\cdot5^s(10^t-1)$ で、$5^s(10^t-1)$ は奇数なので $\gcd(2^\alpha,5^s(10^t-1))=1$ であり、$2^\alpha\mid2^s$、すなわち $\alpha\le s$ である。同じように $\beta\le s$ である。よって、$2^\alpha5^\beta\mid N$ は $s\ge s_0$ と同値である。
段 4($m$ の部分)。$m$ は $2$ でも $5$ でも割り切れないので $\gcd(m,10^s)=1$ であり、$m\mid10^s(10^t-1)$ は $m\mid10^t-1$、すなわち $10^t\equiv1\pmod m$ と同値である。
段 5(2 の証明)。段 1〜4 により、$(s,t)$ で循環することは「$s\ge s_0$ かつ $10^t\equiv1\pmod m$」と同値である。$(s_0,t_0)$ はこの条件をみたすので、$\dfrac an$ は $(s_0,t_0)$ で循環する。循環する組の $s$ はすべて $s_0$ 以上なので、循環しない部分の長さは $s_0$ である。循環する組の $t$ はすべて $10^t\equiv1\pmod m$ をみたし、そのような $t$ の最小は $t_0$ なので(def-rdf-order)、循環節の長さは $t_0$ である。
段 6(1 の証明)。$m=1$ とする。$k\ge s_0$ なら $2^\alpha5^\beta=n$ が $10^k$ を割るので、$10^ka$ も $n$ で割り切れて $r_k=0$ である。lem-rdf-remainder の 2 により、小数第 $s_0+1$ 位から先の数字はすべて $\lfloor0/n\rfloor=0$ で、$\dfrac an$ は有限小数である。
逆に、$\dfrac an$ が有限小数で、小数第 $k+1$ 位から先の数字がすべて $0$ だとする。lem-rdf-remainder の 3 により $\dfrac{r_k}n$ の数字はすべて $0$ である。$0$ の数字もすべて $0$ なので、lem-rdf-remainder の 4 により $\dfrac{r_k}n=0$、つまり $r_k=0$ で、$n\mid10^ka$ である。$\gcd(a,n)=1$ から $n\mid10^k$ であり、$m\mid10^k$ である。$m$ は $10^k$ の素因数 $2,5$ をもたないので、$m=1$ である。$\square$
| 分数 | $n=2^\alpha5^\beta m$ | $s_0$ | $t_0=\operatorname{ord}_m(10)$ | 小数展開 |
|---|---|---|---|---|
| $\dfrac7{40}$ | $2^3\cdot5\cdot1$ | $3$ | $1$($m=1$。有限小数) | $0.175$ |
| $\dfrac1{12}$ | $2^2\cdot3$ | $2$ | $1$ | $0.08\overline3$ |
| $\dfrac5{24}$ | $2^3\cdot3$ | $3$ | $1$ | $0.208\overline3$ |
| $\dfrac3{22}$ | $2\cdot11$ | $1$ | $2$ | $0.1\overline{36}$ |
| $\dfrac1{14}$ | $2\cdot7$ | $1$ | $6$ | $0.0\overline{714285}$ |
| $\dfrac1{28}$ | $2^2\cdot7$ | $2$ | $6$ | $0.03\overline{571428}$ |
たとえば $\dfrac1{28}$ は、主定理により小数第 $3$ 位から長さ $6$ でくり返す。実際に割ると $\dfrac1{28}=0.03571428571428\cdots$ で、$0,3$ のあとに $571428$ がくり返す。
分母が $2$ でも $5$ でも割り切れないときは、$\alpha=\beta=0$、$m=n$ なので、次が分かる。
$\dfrac an$ を既約分数($0\le a< n$)とする。$\dfrac an$ が純循環小数であることと、$n$ が $2$ でも $5$ でも割り切れないことは同値である。このとき循環節の長さは $\operatorname{ord}_n(10)$ で、$n$ と互いに素なすべての分子 $a$ に共通である。
thm-rdf-main の 2 により、$\dfrac an$ が $(0,t)$ で循環するある $t$ があることは、$0\ge s_0=\max(\alpha,\beta)$、すなわち $\alpha=\beta=0$ と同値である。$\alpha=\beta=0$ は、$n$ が $2$ でも $5$ でも割り切れないことにほかならない。このとき $m=n$ なので、循環節の長さは $\operatorname{ord}_n(10)$ であり、$a$ によらない。$\square$
$\dfrac17$ の循環節の長さ $6$ は $7-1$ に等しく、$\dfrac1{13}$ の長さ $6$ は $13-1=12$ の約数である。一般に次が成り立つ。
$m\ge2$ を $2$ でも $5$ でも割り切れない整数とする。$1$ 以上 $m$ 以下の整数のうち $m$ と互いに素なものの個数を $\varphi(m)$ と書く(Eulerのφ関数)。このとき、$\operatorname{ord}_m(10)$ は $\varphi(m)$ の約数である。特に $p$ が $2,5$ 以外の素数なら、$\dfrac1p$ の循環節の長さは $p-1$ の約数である。
余り r に「10 を掛けて m で割った余り」を対応させる矢印。法 7 では m と互いに素な 6 個の余りが 1 つの輪になり、法 13 では 12 個の余りが 6 個ずつの 2 つの輪に分かれる
証明の考え方は図 2 のとおりである。$m$ と互いに素な余りに「$10$ を掛けて $m$ で割った余り」を対応させる矢印を引くと、余りは輪に分かれ、どの輪も同じ個数 $\operatorname{ord}_m(10)$ の余りを含む。輪の個数を $c$ とすると $\varphi(m)=c\cdot\operatorname{ord}_m(10)$ となる。
方針:$m$ と互いに素な余りの集合 $U=\{r\mid1\le r\le m-1,\ \gcd(r,m)=1\}$ を、$10$ を掛ける操作でできる輪に分ける。$U$ の要素の個数は $\varphi(m)$ である($m\ge2$ では $m$ 自身は $m$ と互いに素でないので、$1$ 以上 $m-1$ 以下で数えればよい)。$d=\operatorname{ord}_m(10)$ とおく。
段 1($10$ を掛けても $U$ から出ない)。$r\in U$ とし、$10r$ を $m$ で割った余りを $r'$ とする。$m$ の素因数 $p$ が $10r$ を割ったとすると、素数の性質(Euclid の補題)により $p\mid10$ または $p\mid r$ である。$p\mid10$ なら $p=2$ か $5$ で、$m$ が $2$ でも $5$ でも割り切れないことに反する。$p\mid r$ なら $\gcd(r,m)=1$ に反する。よって $\gcd(10r,m)=1$ である。$r'=10r-qm$($q$ は商)なので、$r'$ と $m$ の公約数は $10r$ も割り、$\gcd(r',m)=\gcd(10r,m)=1$ である。$m\ge2$ なので $r'\ne0$ で、$r'\in U$ である。
段 2(1 つの輪には $d$ 個の異なる余りがある)。$r\in U$ に対し、$10^kr$ を $m$ で割った余りを $k=0,1,\dots,d-1$ について並べたものを、$r$ の輪 $C(r)$ とよぶ。これら $d$ 個は互いに異なる。実際、$0\le i< j\le d-1$ で $10^ir\equiv10^jr\pmod m$ とすると、$m\mid10^ir(10^{j-i}-1)$ である。$\gcd(m,10^ir)=1$(段 1 と同じ理由)なので $m\mid10^{j-i}-1$ となるが、$0< j-i< d$ なので $d$ の最小性(def-rdf-order)に反する。また $10^dr\equiv r$ なので、$d$ 個進むと $r$ に戻る。
段 3(2 つの輪は一致するか、共通部分がない)。$C(r)$ と $C(r')$ に共通の余り $u$ があるとし、$u\equiv10^ir\equiv10^jr'$($0\le i,j\le d-1$)とする。$10^d\equiv1$ なので
$$
r'\equiv10^d\,r'=10^{d-j}\cdot10^jr'\equiv10^{d-j}\cdot10^ir=10^{d-j+i}r\pmod m
$$
である。さらに、任意の $k\ge0$ について $10^kr'\equiv10^{k+d-j+i}r$ である。prop-rdf-order-divides の証明の段 1 と同じく、指数 $k+d-j+i$ を $d$ で割った余りを $e$ とすると $10^{k+d-j+i}r\equiv10^er$ で、これは $C(r)$ の余りである。よって $C(r')$ の余りはすべて $C(r)$ に入る。$C(r)$ も $C(r')$ も $d$ 個の余りからなるので、$C(r')=C(r)$ である。
段 4(数える)。$U$ のどの余り $r$ も、自分の輪 $C(r)$ に入っている($k=0$)。段 3 により、異なる輪は共通部分をもたない。したがって $U$ は、共通部分のない $c$ 個の輪に分かれ、段 2 によりどの輪も $d$ 個の余りを含む。よって $\varphi(m)=cd$ であり、$d\mid\varphi(m)$ である。
段 5(素数の場合)。$p$ が $2,5$ 以外の素数なら、$1$ から $p-1$ までの整数はすべて $p$ と互いに素なので $\varphi(p)=p-1$ である。cor-rdf-pure により $\dfrac1p$ の循環節の長さは $\operatorname{ord}_p(10)$ で、これが $p-1$ を割る。$\square$
ex-rdf-start-27 では、$100x-x$ で小数部分を消した。同じことを一般の循環小数で行う。ここでは $x$ は分数とは限らない $0\le x<1$ の実数で、その数字の列が循環しているとする。
$0\le x<1$ の実数 $x$ が $(s,t)$ で循環するとする。$A=\lfloor10^sx\rfloor$(小数第 $s$ 位までの数字 $d_1\cdots d_s$ を並べた整数)、$B$ を数字 $d_{s+1}d_{s+2}\cdots d_{s+t}$ を並べた整数とする。このとき
$$
x=\frac{(10^t-1)A+B}{10^s(10^t-1)}
$$
である。特に $x$ は有理数である。
方針:$10^{s+t}x$ と $10^sx$ の小数部分が等しいことを示し、引き算で小数部分を消す。
段 1(整数部分の計算)。def-rdf-digit の式 $\lfloor10^ix\rfloor=10\lfloor10^{i-1}x\rfloor+d_i$ を $i=s+1,\dots,s+t$ の順に使うと、
$$
\lfloor10^{s+t}x\rfloor=10^t\lfloor10^sx\rfloor+\left(d_{s+1}10^{t-1}+d_{s+2}10^{t-2}+\cdots+d_{s+t}\right)=10^tA+B
$$
である。同じ式を $i=1,\dots,s$ に使うと $\lfloor x\rfloor=0$ から $\lfloor10^sx\rfloor=d_110^{s-1}+\cdots+d_s$ となり、$A$ は数字 $d_1\cdots d_s$ を並べた整数である。
段 2(小数部分が等しい)。$k\ge0$ について $y_k=10^kx-\lfloor10^kx\rfloor$($10^kx$ の小数部分)とおく。$0\le y_k<1$ である。prf-rdf-remainder の段 3 の計算は、$q_k=\lfloor10^kx\rfloor$ が整数であることしか使っていないので、そのまま成り立ち、$y_k$ の小数第 $j$ 位の数字は $d_{k+j}$ である。$(s,t)$ で循環するので、$j\ge1$ について $d_{s+t+j}=d_{s+j}$ であり、$y_{s+t}$ と $y_s$ はすべての位で数字が等しい。lem-rdf-remainder の 4 により $y_{s+t}=y_s$ である。
段 3(引き算)。段 2 により
$$
10^{s+t}x-10^sx=\lfloor10^{s+t}x\rfloor-\lfloor10^sx\rfloor=(10^tA+B)-A=(10^t-1)A+B
$$
である。左辺は $10^s(10^t-1)x$ で、$10^s(10^t-1)\ne0$ なので、両辺をこれで割れば主張の式を得る。分子と分母は整数なので $x$ は有理数である。$\square$
cor-rdf-always と prop-rdf-to-fraction をあわせると、$0\le x<1$ の実数について「$x$ が有理数」と「$x$ の小数展開が循環する」は同値である。この同値性と、循環しない小数(無理数)の例は 実数とは何か:無理数の証明 でも扱っている。
主定理の仮定を外すと何が崩れるかを、表にまとめる。
| 外した仮定・誤解 | 崩れる主張 | ボックス |
|---|---|---|
| 分数が既約 | thm-rdf-main の 1(有限小数の判定) | ex-rdf-counter-reduced |
| 分数が既約 | thm-rdf-main の 2(循環節の長さ $=\operatorname{ord}_m(10)$) | ex-rdf-counter-reduced |
| 「循環節の長さは $\varphi(m)$ そのもの」という誤解 | 長さは $\varphi(m)$ の約数にすぎない | ex-rdf-counter-phi |
| 数字の列から逆に数を決める(def-rdf-digit で決まる数字の列とは限らない) | $[0,1)$ の数の展開であること($0.999\cdots$ はどの $0\le x<1$ の展開でもない) | ex-rdf-counter-nines |
| 10 進法で書く | 有限小数かどうかは進法によって変わる | ex-rdf-counter-base |
$\dfrac17$ では長さ $6=\varphi(7)$ だが、いつもそうなるわけではない。$\dfrac13=0.\overline3$ は長さ $1$($\varphi(3)=2$)、$\dfrac1{13}=0.\overline{076923}$ は長さ $6$($\varphi(13)=12$)、$\dfrac1{41}=0.\overline{02439}$ は長さ $5$($\varphi(41)=40$)である。thm-rdf-phi が言うのは「約数である」ことまでである。
数字の列 $0.999\cdots$ に prop-rdf-to-fraction の式を形式的に当てはめると、$s=0$、$t=1$、$A=0$、$B=9$ から $\dfrac99=1$ となり、$1$ 未満にならない。これは、def-rdf-digit で $0\le x<1$ の実数から数字を決めると、ある位から先がすべて $9$ になることはないからである。
実際、$0\le x<1$ の数字が小数第 $s+1$ 位から先すべて $9$ だとする。prop-rdf-to-fraction を $(s,1)$、$B=9$ で使うと
$$
x=\frac{9A+9}{9\cdot10^s}=\frac{A+1}{10^s}
$$
となる。すると $10^sx=A+1$ は整数なので $\lfloor10^sx\rfloor=A+1$ となり、$A=\lfloor10^sx\rfloor$ に反する。よってそのような $x$ はない。$0.999\cdots$ を無限級数 $\sum_{k\ge1}9\cdot10^{-k}$ と読めば値は $1$ である(無限級数の和と収束判定)。
方針:筆算の余りを、最初の余り $1$ に戻るまで計算する(prop-rdf-criterion)。分母は $2$ でも $5$ でも割り切れないので、純循環小数である(cor-rdf-pure)。
(1) 余りは $1\to10\to18\to16\to37\to1$ である($100=41\cdot2+18$、$180=41\cdot4+16$、$160=41\cdot3+37$、$370=41\cdot9+1$)。$5$ 回目で初めて $1$ に戻るので、長さは $5$ である。確かめとして、$99999=41\cdot2439$ なので $\dfrac1{41}=\dfrac{2439}{99999}=0.\overline{02439}$ である。
(2) 余りは $1\to10\to15\to14\to4\to6\to9\to5\to16\to7\to2\to3\to13\to11\to8\to12\to1$ であり(ex-rdf-always の 2)、$16$ 回目で初めて $1$ に戻る。長さは $16$ である。$\square$
長さは $\operatorname{ord}_p(10)$ であり、thm-rdf-phi によりそれは $p-1$ の約数である。だから、$p-1$ の約数 $k$ だけを調べればよく、しかも prop-rdf-order-divides を使うと調べる $k$ はさらに減る。
(1) $10^5\equiv1\pmod{41}$ が分かれば($10^2\equiv18$、$10^4\equiv18^2=324=41\cdot7+37\equiv37$、$10^5\equiv370\equiv1$)、位数は $5$ の約数、つまり $1$ か $5$ である。$10\not\equiv1$ なので位数は $5$ である。
(2) 位数は $16$ の約数で、$1,2,4,8,16$ のどれかである。$10^2=100\equiv-2$、$10^4\equiv4$、$10^8\equiv16\equiv-1\pmod{17}$ である。$10^8\not\equiv1$ なので、prop-rdf-order-divides により位数は $8$ の約数ではない。$1,2,4,8$ はどれも $8$ の約数なので、位数は $16$ である。累乗を $3$ 回計算するだけで済み、16 段の筆算はいらない。
このように、$\dfrac1p$ の循環節の長さを求めることは、合同式 の世界で $10$ の位数を求めることと同じである。位数は、群 $(\mathbb{Z}/p\mathbb{Z})^\times$ の元としての $10$ の 元の位数 であり、thm-rdf-phi は有限群の Lagrangeの定理 の特別な場合である。
Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する