tsujimotterのノートブック

日曜数学者 tsujimotter の「趣味で数学」実践ノート

ガウス流・循環小数計算法

循環小数熱が再燃してきまして、いろいろ調べている中で面白い話を見つけました。

かの有名な天才数学者ガウスは、こんなやり方で循環小数を計算していたそうです。今回の記事の出典は、参考文献に挙げた「近世数学史談」です。


たとえば、 1/33 という数を循環小数で表すことを考えてみましょう。

もちろんこの例では簡単なのでそのまま計算していいのですが、

 33 = 3 \times 11

という関係を利用してみましょう。



部分分数分解(の類似)

 \displaystyle \frac{1}{3\times 11} = \frac{a}{3} + \frac{b}{11}

を計算すれば、 1/3 1/11 の循環小数表示から  1/33 を計算できるという寸法です。


具体的には、右辺を通分すると

 \displaystyle \frac{a}{3} + \frac{b}{11} = \frac{11a + 3b}{3\times 11}

となりますので

 11a + 3b = 1

を満たす整数  a, b の組を求めれば良いことになります。

実際、 a = -1, \; b = 4 なる解が見つかるので

 \displaystyle \frac{1}{3\times 11} = \frac{4}{11} - \frac{1}{3}

という式が得られます。


あとは、 1/3 1/11 の循環小数表示

 \displaystyle \frac{1}{3} = 0.\overline{3}(循環節の長さ 1)
 \displaystyle \frac{1}{11} = 0.\overline{09}(循環節の長さ 2)

を知っていれば

 \displaystyle \begin{align}  \frac{4}{11} &= 0.\overline{36} \\
\frac{1}{3} &= 0.\overline{33} \\
\frac{4}{11} - \frac{1}{3} &= 0.\overline{03} \end{align}

と計算できます。この計算は、実質的には足し算・引き算(と少々の掛け算)だけで実行できます。

したがって

 \displaystyle \frac{1}{33} = \frac{1}{3\times 11} = \frac{4}{11} - \frac{1}{3} = 0.\overline{03}

と計算できるわけですね。面白いですね!



これがガウスによる計算方法ですが、このような方法を考えると、素数と素数のべき乗の逆数についての循環小数のリストがあれば、原理的に任意の  1/m の循環小数表示が、足し算・引き算(と少々の掛け算)だけを用いて計算できることになります。

実際、若い頃のガウスは、200以下の素数のべき乗数について、その逆数の循環小数表示を計算して表にしていたそうです。さらに、後年はそれを1000以下まで継続していたそうです。

ガウス自身が冗談めかして言ったそうですが『予は口がきけるよりも前から計算していた』とのことです。なんというか、尋常ではないですね。。。


私はガウスほどの計算力と忍耐力は持ち合わせていないので、計算機を用いて1000以下の表を作ってみました。
tsujimotter.info

これでガウスと同じ土俵に立ったので、いろいろ計算を楽しんでみたいと思います。


ちなみに、 1/p^k の形の循環小数の循環節を計算してくれる「循環小数電卓」なるものも作ってみましたので、よろしければ使ってみてください。(私は便利に使っています。)
tsujimotter.info


ガウスのもうひと工夫

上では、部分分数分解(の類似)  \frac{a}{3} + \frac{b}{11} の係数を求める際に、通分して一次不定方程式の形で計算していました。

ガウスはもう少し変わった方法を用いていたようです。

 \displaystyle \frac{1}{3\times 11} = \frac{a}{3} + \frac{b}{11}

の式の両辺に  3 をかけると

 \displaystyle \frac{1}{11} = a + \frac{3b}{11}

となりますが、 \bmod{3} を計算すると

 \require{cancel} \displaystyle \frac{1}{11} \equiv a + \cancel{\frac{3b}{11}} \pmod{3}

となり、

 \require{cancel} \displaystyle a \equiv \frac{1}{11} \pmod{3}

が得られます。


このやり方、どこかでやったなと思ったら、本家の部分分数分解を計算を行うときの工夫と一緒ですね!
tsujimotter.hatenablog.com



さて、 a \equiv 1/11 \pmod{3} の計算ですが、分数のままで「 \bmod{3} の合同式」を考えていきます。

 \displaystyle \begin{align} a &\equiv \frac{1}{11} \\
 &\equiv \frac{1}{2} \\
 &\equiv \frac{4}{2} \\
 &\equiv 2 \\
 &\equiv -1 \pmod{3} \end{align}

 b の方も同様に計算することで  a \equiv -1 \pmod{3} b \equiv 4 \pmod{11} を得ます。

最終的にこれで分数が成り立つかどうかは、  11a + 3b = 1 に代入して計算する必要があるので、うまい工夫なのかというと疑問ですが。



ちなみに、今回の例はガウスがやった計算そのものではなく、それよりも簡単な例を作って紹介しています。

実際のガウスは

 \displaystyle \frac{2}{31831} = \frac{a}{139} + \frac{b}{229}

なる部分分数分解を使って、 2/31831 の循環小数表示を得ていたようです。

こちらの方が、上記の方法の有用性を実感できるかもしれません。興味と根気がある方は、ぜひチャレンジしてみてください。笑


それでは今日はこの辺で!


参考文献

今回の話は高木貞治著「近世数学史談」の「8.数字計算とガウス」が元ネタです。この章では他にもガウスの尋常ではない計算力が紹介されていて楽しいので、よろしければぜひご覧になってください。