当ページを読んで、「高校生当時、レポートを書くのにタイガー計算機を使っていました」という助川さんから、開平(平方を開く、つまり平方根を求める)計算の方法を教えてもらいました。
ネット上を調べたところでは、あまりこの方法の情報がなかったので、紹介しておきます。
まず、わかりやすい例として 25 の平方根(√25)を求める方法から。
計算手順の基本は、「奇数を順次引いていく」だけです。これだけで平方根が求まります。
| 25 | -1 | =24 |
| 24 | -3 | =21 |
| 21 | -5 | =16 |
| 16 | -7 | =9 |
| 9 | -9 | =0 |
この場合、5回で計算が終了するので、√25 = 5 です。
このことの数学的な意味を、図形で検証します。
最初に「1を引く」ということは、図形の左上の■の部分を引く、ということです。
つづいて、「3を引く」ということは、左上の■を囲む、□の3つ分を引く、ということです。
同様に、5を引くのはさらに周囲の■部分を引くこと、7は□部分を…と続けていって、9を引いたら結果が「0」になりました。
つまり、図形的には上の5×5の、25マスを埋めきったことになります。√25 = 5 です。
つづいて、もっと大きな数でも平方根を求めてみましょう。この場合、10×10=100 であることを利用して、2桁づつ数値を区切って計算を行います。
例題として、√529を求めてみます。まず、下から2桁づつ区切って、5 と 29に分かれていると考えます。
| 5 | -1 | =4 |
| 4 | -3 | =1 |
ここでこれ以上引けなくなりました。2回で終了なので、答えの上の桁は2です。つづいて、下の桁である「29」をくっつけて、129が残っていると考えます。
このとき、「引く数」としては、3 の次の数である 4 を上の桁にもってきて、41 からはじめます。(このことの意味は後で解説します)
| 129 | -41 | =88 |
| 88 | -43 | =45 |
| 45 | -45 | = 0 |
ここで終わりです。上の桁が2、下の桁が3なので、√529 = 23 です。
こちらも図形で検証してみましょう。
最初に上の桁で1を引くということは、10*10=100 を全体から引いていることになります。図形の左上の部分です。3を引くのも、図形で赤く塗った 300を引くのと同じこと。
つづいて下の桁の計算ですが、赤の周囲にある青い細い部分は、縦に20、横に20、そして角の部分が 1 ありますので、合計 41 になります。これを引いています。
続く緑の部分は同じようにして 43、黄色は 45 を引くことになります。
つまり、最初に100単位の大きな領域を引いておいて、引けなくなったら細い領域を徐々に広げていく…という戦略で、図形全体を求めているわけです。
例では3桁でしたが、同じ作業の繰り返しで、もっと大きな桁数でも求められます。
上の2つの例では、あえて整数で割り切れる数を例題としました。しかし、割り切れない数でも求めることができます。
話としては単純で、固定小数点演算を行うだけですが…固定小数点ということは、結局のところ整数演算ですから。この場合、桁を下にずらしていくときには、見えない 00 が入っていた、と考えて続けます。
√2を求めてみましょう。
| 2 | -1 | =1 |
これ以上は続けられないので、桁をずらします。
| 100 | -21 | =79 |
| 79 | -23 | =56 |
| 56 | -25 | =31 |
| 31 | -27 | = 4 |
これ以上は続けられないので、さらに桁をずらします。
| 400 | -281 | =119 |
同様に、さらに桁をずらします。
| 11900 | -2821 | =9079 |
| 9079 | -2823 | =6256 |
| 6256 | -2825 | =3431 |
| 3431 | -2821 | = 604 |
ここまでで、√2 = 1.414 までは求められました。さらに続ければ、もっと下の桁まで求められます。
手計算の点順を見ていると、引き算の桁がだんだん大きくなったりして面倒くさそうに見えるかもしれません。
しかし、タイガー計算機では、引き算はクランクを回すだけで完了します。回した回数は自動的にカウントされるので、結果もすぐに読めます。
桁をずらす作業も、最初からその機構が作りこまれていますし、奇数を順次入れる、という作業も、引く数を設定するレバーに指を掛けたまま、クランクを回すごとに2目盛り下にずらす、ということを続けるだけです。
そう考えると、ここで紹介したアルゴリズムが、非常にタイガー計算機向きに使いやすい方法であることがお分かりいただけると思います。
平方根を求めるアルゴリズムはほかにも数多くありますが、計算に使う「道具」にあわせて使いやすい手法を考え出した知恵には、本当に頭が下がる思いです…
最後の√2計算の数値は、助川さんにいただいたメールの内容をそのまま使わせていただきました。数学的な「意味」などは自分で調べて記事としましたが、そもそも計算手順を知らなければその作業もできなかったでしょう。
貴重な情報をありがとうございました。
(ページ作成 2007-08-31)このページの誤字脱字発見・情報提供・意見などありましたら、下の一行掲示板へどうぞ。樫樹の広場から全体を見ることも出来ます。