循環小数と分数

同義語:repeating decimals and fractions

概要

循環小数と分数(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)$ の約数である。

$$\newcommand{C}[0]{\mathbb{C}} \newcommand{N}[0]{\mathbb{N}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{R}[0]{\mathbb{R}} \newcommand{Z}[0]{\mathbb{Z}} $$

前提知識: 合同式, 有理数, 床関数

高校での出発点:$\frac17$ を筆算で割る

分数を小数に直すと、$\dfrac18=0.125$ のように割り切れることもあれば、$\dfrac17=0.142857142857\cdots$ のように同じ数字の並びがくり返すこともある。この記事では、どちらになるか、くり返すならその長さはいくつかが、分母だけで決まることを証明する。まず、高校の教科書と同じ計算を 3 つ見る。

$\frac{1}{7}$ の筆算

$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$ 桁である。

0.272727… を分数に直す

$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$ になる。

割り切れる分数と、途中からくり返す分数
  1. $\dfrac18=0.125$ は割り切れる。$\dfrac18=\dfrac{125}{1000}$ と、分母を $10$ の累乗にできるからである。
  2. $\dfrac1{12}=0.08333\cdots$ は、小数第 $3$ 位から $3$ がくり返す。小数第 $1$ 位・第 $2$ 位の $0,8$ はくり返しに入らない。
  3. $\dfrac1{14}=0.0\,714285\,714285\cdots$ は、小数第 $2$ 位から $6$ 桁の $714285$ がくり返す。

この記事で答える問いは次の 4 つである。

  1. 筆算の数字がくり返すのはなぜか。→ lem-rdf-remainder、prop-rdf-criterion
  2. どんな分数が割り切れる(有限小数になる)か。→ thm-rdf-main の 1
  3. くり返す部分の長さは、分母からどう決まるか。→ thm-rdf-main の 2、cor-rdf-pure
  4. 循環小数はどうやって分数に戻すか。→ prop-rdf-to-fraction
    高校の計算この記事の言葉大学の言葉
    筆算の余りがくり返す余り $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 段(薄い赤)だけがくり返しに入らない 1/7 と 3/22 を筆算で割ったときの余り r_k(点)と、各段で出る数字(下の赤い数字)。帯の 1 色が 1 回分のくり返しで、3/22 では最初の 1 段(薄い赤)だけがくり返しに入らない
    図 1 の上は ex-rdf-start-seven の余りを並べたもので、余りが $1,3,2,6,4,5$ と進んで $1$ に戻る。下の $\dfrac3{22}=0.1363636\cdots$ では、余りは $3$ から始まり、$8,14,8,14,\dots$ とくり返す。最初の余り $3$ には二度と戻らないので、最初の数字 $1$ はくり返しに入らない。

小数展開と循環小数

小数第 $k$ 位の数字

以下、$0\le x<1$ の実数を考える。$x$ の小数第 $k$ 位の数字は、「$x$ を $10^k$ 倍して小数点以下を切り捨てた整数の一の位」である。これを式で書いておく。$\lfloor y\rfloor$ は $y$ 以下の最大の整数(床関数。高校ではガウス記号 $[y]$ と書く)を表す。

小数第 $k$ 位の数字

$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$ と書く。

小数第 $k$ 位の数字の計算
  1. $x=\dfrac18=0.125$:$\lfloor10x\rfloor=\lfloor1.25\rfloor=1$、$\lfloor100x\rfloor=\lfloor12.5\rfloor=12$、$\lfloor1000x\rfloor=125$、$\lfloor10000x\rfloor=1250$ なので、$d_1=1-0=1$、$d_2=12-10=2$、$d_3=125-120=5$、$d_4=1250-1250=0$ である。
  2. $x=\dfrac17$:$\lfloor10x\rfloor=\lfloor1.428\ldots\rfloor=1$、$\lfloor100x\rfloor=\lfloor14.28\ldots\rfloor=14$、$\lfloor1000x\rfloor=142$ なので、$d_1=1$、$d_2=14-10=4$、$d_3=142-140=2$ で、ex-rdf-start-seven の数字と一致する。

$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$)。このとき、次が成り立つ。

  1. $\lfloor10^kx\rfloor$ は $10^ka$ を $n$ で割った商であり、$10^kx=\lfloor10^kx\rfloor+\dfrac{r_k}n$ である。
  2. $d_{k+1}=\left\lfloor\dfrac{10r_k}n\right\rfloor$ であり、$0\le d_{k+1}\le9$ である。また $r_{k+1}=10r_k-nd_{k+1}$ である。
  3. $\dfrac{r_k}n$ の小数第 $j$ 位の数字は、$x$ の小数第 $k+j$ 位の数字 $d_{k+j}$ である($j\ge1$)。
  4. $0\le y<1$、$0\le y'<1$ の 2 数の小数第 $j$ 位の数字がすべての $j$ で等しければ、$y=y'$ である。

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$

$\frac{1}{7}$ の余りと数字

$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)$ で 循環する という。

  1. ある $(s,t)$ で循環する小数を 循環小数 という。ある番号から先の数字がすべて $0$ である小数(有限小数)は、$t=1$ で循環する小数に含める。
  2. 循環小数について、$(s,t)$ で循環するような $t$ のうち最小のものを 循環節の長さ、$s$ のうち最小のものを 循環しない部分の長さ という。
  3. $s=0$ で循環するとき、純循環小数 という。

$\dfrac17=0.\overline{142857}$ のように、循環する部分に線を引いて書く。$\dfrac1{12}=0.08\overline3$ である。

循環の組 $(s,t)$
  1. $\dfrac17=0.\overline{142857}$ は $(0,6)$ で循環する。$(0,12)$、$(3,6)$ でも循環する。循環節の長さは $6$、循環しない部分の長さは $0$ で、純循環小数である。
  2. $\dfrac1{12}=0.08\overline3$ は $(2,1)$ で循環する。$(1,1)$ では循環しない($d_2=8$ と $d_3=3$ が違う)。循環節の長さは $1$、循環しない部分の長さは $2$ である。
  3. $\dfrac3{22}=0.1\overline{36}$ は $(1,2)$ で循環する。循環節の長さは $2$、循環しない部分の長さは $1$ である。
  4. $\dfrac18=0.125000\cdots$ は $(3,1)$ で循環する有限小数である。
  1. のように、$(s,t)$ で循環すれば $(s,2t)$ や $(s+1,t)$ でも循環するので、組 $(s,t)$ は 1 つに決まらない。そこで最小のものに名前を付けた。最小の $s$ と最小の $t$ が同じ組で実現されることは、分数については thm-rdf-main の証明の中で分かる。

分数は必ず循環する

余りがくり返せば数字もくり返す

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 つは同値である。

  1. $x$ は $(s,t)$ で循環する。
  2. $r_{s+t}=r_s$ である。
次の余りと数字は、前の余りだけで決まる

方針: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$

余りの列から $(s,t)$ を読む
  1. $\dfrac17$ の余りは $1,3,2,6,4,5,1,3,2,\dots$ である(ex-rdf-remainder)。$r_6=r_0=1$ なので、prop-rdf-criterion により $(0,6)$ で循環する。続けて並ぶ $6$ 個の余りはすべて異なるので、$r_{s+t}=r_s$ となるのは $t$ が $6$ の倍数のときだけである。よって循環節の長さは $6$ である。
  2. $\dfrac3{22}$ の余りは、$r_0=3$、$r_1=30-22=8$、$r_2=80-66=14$、$r_3=140-132=8$、$r_4=14,\dots$ である。$r_3=r_1$ なので $(1,2)$ で循環する。$k\ge1$ の余りは $8$ か $14$ で、$r_0=3$ には戻らないので、$(0,t)$ で循環することはない。よって循環しない部分の長さは $1$ である。$r_2=14\ne8=r_1$ なので $(1,1)$ でも循環せず、循環節の長さは $2$ である。

部屋割り論法

余りは $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$

同じ余りが出るまで
  1. $\dfrac1{12}$:$r_0=1$、$r_1=10$($10=12\cdot0+10$)、$r_2=4$($100=12\cdot8+4$)、$r_3=4$($40=12\cdot3+4$)。$r_3=r_2$ なので $(2,1)$ で循環し、$s+t=3\le12$ である。数字は $d_1=0$、$d_2=8$、$d_3=3$ で、$\dfrac1{12}=0.08\overline3$ である。
  2. $\dfrac1{17}$:余りは $1,10,15,14,4,6,9,5,16,7,2,3,13,11,8,12,1$ と進み、$r_{16}=r_0$ で初めて同じ余りが出る。$s+t=16\le17$ で、cor-rdf-always の上限 $17$ に近い。$\dfrac1{17}=0.\overline{0588235294117647}$ である。
  3. 余りが $0$ になると、その後の数字はすべて $0$ で余りも $0$ のままである(lem-rdf-remainder の 2 で $r_k=0$ とおく)。$\dfrac18$ では $r_0=1$、$r_1=2$、$r_2=4$、$r_3=0$ で、$\dfrac18=0.125$ である。

主定理:分母が循環の形を決める

法 $m$ での $10$ の位数

cor-rdf-always により、どの分数も循環する。では、循環しない部分の長さと循環節の長さは、分母からどう決まるか。答えには、次の数が現れる。

10 の累乗はいつか 1 に戻る

$m$ を正の整数とし、$m$ は $2$ でも $5$ でも割り切れないとする。このとき、$1\le k\le m$ で $10^k\equiv1\pmod m$ となる整数 $k$ がある。

$\frac{1}{m}$ の筆算を使う

方針: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$ での 10 の位数

$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 の特別な場合であるが、この記事でも使うので証明しておく。

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$

位数の倍数を確かめる
  1. $m=7$、$d=6$:$10^{12}=(10^6)^2\equiv1$、$10^{9}=10^6\cdot10^3\equiv10^3\equiv6\pmod7$ である。$6\mid12$、$6\nmid9$ と合っている。
  2. $m=11$、$d=2$:$10^t\equiv1\pmod{11}$ となるのは $t$ が偶数のときだけである。実際 $10\equiv-1\pmod{11}$ なので $10^t\equiv(-1)^t$ である。

主定理

分数 $\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)$ とおく。

  1. $\dfrac an$ が有限小数であることと、$m=1$($n$ の素因数が $2$ と $5$ だけ)であることは同値である。
  2. $\dfrac an$ が $(s,t)$ で循環することと、「$s\ge s_0$ かつ $10^t\equiv1\pmod m$」であることは同値である。特に、循環しない部分の長さは $s_0$、循環節の長さは $t_0$ である。

循環節の長さは分子 $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$ に共通である。

主定理で $s=0$ とする

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$

分子を変えても長さは同じ
  1. 分母 $7$ の分数は、どれも長さ $6$ の純循環小数である。しかも数字の並びは $142857$ をずらしたものになる。
    $$ \frac17=0.\overline{142857},\quad\frac37=0.\overline{428571},\quad\frac27=0.\overline{285714},\quad\frac67=0.\overline{857142},\quad\frac47=0.\overline{571428},\quad\frac57=0.\overline{714285} $$
    分子を $1,3,2,6,4,5$ の順に並べたのは、これが $\dfrac17$ の筆算の余りの順(ex-rdf-remainder)だからである。lem-rdf-remainder の 3 により、$\dfrac{r_k}7$ の数字は $\dfrac17$ の数字を $k$ 桁ずらしたものになる。
  2. 分母 $13$ の分数も長さ $6$ だが、数字の並びは 2 種類ある。$\dfrac1{13}=0.\overline{076923}$、$\dfrac2{13}=0.\overline{153846}$ で、$\dfrac{10}{13},\dfrac9{13},\dfrac{12}{13},\dfrac3{13},\dfrac4{13}$ は $076923$ を、$\dfrac7{13},\dfrac5{13},\dfrac{11}{13},\dfrac6{13},\dfrac8{13}$ は $153846$ をずらした並びになる。この「2 種類」が次の定理の図 2 の 2 つの輪である。

循環節の長さは $\varphi(m)$ の約数

$\dfrac17$ の循環節の長さ $6$ は $7-1$ に等しく、$\dfrac1{13}$ の長さ $6$ は $13-1=12$ の約数である。一般に次が成り立つ。

循環節の長さは $\varphi(m)$ を割る

$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 つの輪に分かれる 余り 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$

輪に分ける
  1. $m=7$:$\varphi(7)=6$、$U=\{1,2,3,4,5,6\}$。$1\to3\to2\to6\to4\to5\to1$ の 1 つの輪で、$c=1$、$d=6$ である。
  2. $m=13$:$\varphi(13)=12$。輪は $1\to10\to9\to12\to3\to4\to1$ と $2\to7\to5\to11\to6\to8\to2$ の 2 つで、$12=2\cdot6$ である(図 2)。1 つ目の輪の分子の分数は $076923$ の、2 つ目は $153846$ の並びをもつ(ex-rdf-pure の 2)。
  3. $m=21$:$\varphi(21)=12$、$U=\{1,2,4,5,8,10,11,13,16,17,19,20\}$。輪は $1\to10\to16\to13\to4\to19\to1$ と $2\to20\to11\to5\to8\to17\to2$ で、$d=6$、$12=2\cdot6$ である。$\dfrac1{21}=0.\overline{047619}$ である。
  4. $m=41$:$\varphi(41)=40$、$d=5$(ex-rdf-order)なので、$U$ は $5$ 個ずつの $8$ 個の輪に分かれる。

循環小数を分数に直す

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 の累乗倍して引く

方針:$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$

循環小数を分数に直す
  1. $0.\overline{27}$:$s=0$、$t=2$、$A=0$、$B=27$ なので $x=\dfrac{27}{99}=\dfrac3{11}$ である(ex-rdf-start-27)。
  2. $0.08\overline3$:$s=2$、$t=1$、$A=8$、$B=3$ なので
    $$ x=\frac{9\cdot8+3}{100\cdot9}=\frac{75}{900}=\frac1{12} $$
    である。
  3. $0.1\overline{36}$:$s=1$、$t=2$、$A=1$、$B=36$ なので
    $$ x=\frac{99\cdot1+36}{10\cdot99}=\frac{135}{990}=\frac3{22} $$
    である。
  4. $0.\overline{142857}$:$s=0$、$t=6$、$A=0$、$B=142857$ なので $x=\dfrac{142857}{999999}$ である。$999999=7\cdot142857$ なので $x=\dfrac17$ である。

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
反例:既約でない分数
  1. $\dfrac36$ の分母 $6=2\cdot3$ には素因数 $3$ があるが、$\dfrac36=0.5$ は有限小数である。$\gcd(3,6)=3\ne1$ で、thm-rdf-main の仮定「既約」をみたしていない。約分した $\dfrac12$ の分母 $2$ で判定すれば正しい。
  2. $\dfrac7{21}$ の分母 $21$ は $2$ でも $5$ でも割り切れず、$\operatorname{ord}_{21}(10)=6$ である(ex-rdf-phi の 3)。しかし $\dfrac7{21}=\dfrac13=0.\overline3$ で、循環節の長さは $1$ である。証明の段 1 で $\gcd(a,n)=1$ を使って $a$ を取り除いたところが成り立たない($21\mid10^s\cdot7\,(10^t-1)$ は $t=1$ で成り立つが、$21\mid10^s(10^t-1)$ は成り立たない)。
反例:循環節の長さは $\varphi(m)$ とは限らない

$\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… という数字の列

数字の列 $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. $\dfrac13$ は 10 進法では $0.333\cdots$ と循環するが、3 進法では $\dfrac13=0.1_{(3)}$ と有限小数である。
  2. $\dfrac15$ は 10 進法では $0.2$ と有限小数だが、2 進法では循環する。$\dfrac15=\dfrac3{15}=\dfrac{3}{2^4-1}$ で、$3$ を 2 進法 4 桁で書くと $0011$ なので、prop-rdf-to-fraction と同じ計算を 2 進法で行えば $\dfrac15=0.\overline{0011}_{(2)}$ である。
    thm-rdf-main の「$2$ と $5$」は $10=2\cdot5$ の素因数であり、$b$ 進法では $b$ の素因数に置きかわる。進法については n進法と記数法 で扱う。

循環節の長さを求める:高校数学で解く・大学数学で見る

$\frac{1}{41}$ と $\frac{1}{17}$ の循環節の長さ
  1. $\dfrac1{41}$ の循環節の長さを求めよ。
  2. $\dfrac1{17}$ の循環節の長さを求めよ。
高校数学で解く

方針:筆算の余りを、最初の余り $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の定理 の特別な場合である。

さらに先へ

  • 長さが $p-1$ になる素数:$\dfrac1p$ の循環節の長さが最大の $p-1$ になるのは、$10$ が法 $p$ の 原始根 であるときである。$100$ 以下では $p=7,17,19,23,29,47,59,61,97$ がそうである。このような素数が無限にあるかは分かっていない。「平方数でも $-1$ でもない整数は、無限に多くの素数の原始根である」という Artinの原始根予想 は未解決である(Cri24 Conjecture 17.5.3)。
  • 位数と周期の一般論は 冪の余りの周期と元の位数 で、$\varphi(m)$ と Fermatの小定理 の関係は Fermatの小定理と冪の余り で扱う。
  • 10 進法を $b$ 進法に変えても、この記事の証明は $10$ を $b$ に置きかえればそのまま通る(n進法と記数法)。

関連項目

参考文献

Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する