証明: 無限小数になる有理数は循環小数


無限小数になる有理数は循環小数になることを証明します。 無限小数になる有理数というのは、 有理数になる小数の中で有限小数でないものになります。

割り算の操作をよく観察すればわかりそうなものですが、 感覚的なものを証明としてしっかり書いてみます。

感覚

たとえば 89 を 13 で小数の位まで順次割った場合、 余りは次のようになります。

\begin{eqnarray*}
89 \div 13 & = & 6 \; \textrm{余り} 11 \\
110 \div 13 & = & 8 \; \textrm{余り} 6 \\
60 \div 13 & = & 4 \; \textrm{余り} 8 \\
80 \div 13 & = & 6 \; \textrm{余り} 2 \\
20 \div 13 & = & 1 \; \textrm{余り} 7 \\
70 \div 13 & = & 6 \; \textrm{余り} 5 \\
50 \div 13 & = & 3 \; \textrm{余り} 11 \\
110 \div 13 & = & 8 \; \textrm{余り} 8
\end{eqnarray*}

7 回目 の割り算で 1 回目 と同じ余りが出てきました。 13 で 割った時の余りの数は 1 から 12 の 12 種類しかありませんから、 13 回 割り算をやっても割り切れなかったら どこかで同じ余りが出ていて循環小数になることがわかります。

これを長ったらしく書くと証明になります。

証明

無限小数になる有理数、 (すなわ)ち 整数でもなく有限小数でもない有理数を、 互いに素な自然数 \( p, q\) を使って \( \frac{q}{p} \) と表します。 次のように 数列 \( {k_n}, {r_n} \) を定義します。

\begin{eqnarray*}
k_n & = &
\begin{cases}
q \div p \; \textrm{の商} & (n = 0) \\
10r_n \div p \; \textrm{の商} & (n \geq 1)
\end{cases} \\
r_n & = &
\begin{cases}
q \div p \; \textrm{の余り} & (n = 1) \\
10r_{n-1} \div p \; \textrm{の余り} & (n \geq 2)
\end{cases}
\end{eqnarray*}

すると、 分数 \( \frac{q}{p}\) は 無限小数として

\begin{array}{cl} & k . k_1 k_2 k_3 \dots k_n \dots \\ = & k + \frac{k_1}{10} + \frac{k_2}{10^2} + \frac{k_2}{10^3} + \dots + \frac{k_n}{10^n} + \dots \end{array}

と書くことができる。

今、 \( r_n = 0 \) なる \( n \) が存在すると \( \frac{q}{p} \) は有限小数になるので すべての \(n\) について \( r_n \geq 1\) 。 また \( p \) で割った時の余りであることから \( r \leq p – 1\) 。 したがって \( p\) 個 の余り \( r_1, r_2, \dots, r_p \) のうち少なくとも 2 つ は一致する。 即ち 次の式を満たす自然数 \( m, n \) が存在する。

\begin{array}{c} r_m=r_n, \; 1 \leq m \lt n \leq p \\
k_n = k_m , \, k_{n+1} = k_{m+1}, \, k_{n+2} = k_{m+2}, \, \cdots \end{array}

これより、 \( \frac{q}{p} \) は 小数 第 \( m \) 位 以下に 数字の配列 \( k_m k_{m+1} \cdots k_{n-1} \) が無限に続くことがわかる。

逆に循環する無限小数が有理数になることも証明できます。