アルゴリズム論特論(塩田)第5回 (3) 九去法
九去法
mod9 の法演算を応用した検算法を紹介しましょう。
Ex.8 367×52=19084 の検算をしてみましょう。
- 被乗数、乗数、答えのそれぞれの 各桁の数字を足します。
- ただし、9 を超えているときは 9 を引きます ( 九を取り去る )。
- 被乗数367⟶3+6+7=(3+6)+7⟶7
- 乗数 52⟶5+2=7
- 答え 19084⟶1+9+0+8+4=(1+8)+9+4⟶4
- 「 被乗数から得られた 7 」と「 乗数から得られた 7 」を掛けた 7×7 でまた同じことをします。
- 7×7=49⟶4+9⟶4
- 「 答えから得られた 4 」と一致したので一安心します。
原理 mod9 では
10≡1 なので、
Cor.7 から
∀e≧0 について
10e≡1
が成り立ちます。従って
367=3×102+6×10+7≡3×1+6×1+7≡3+6+7=(3+6)+7≡7
という計算ができ、
被乗数 × 乗数 ≡7×7≡4≡ 答え
のはず、ということです。
計算間違えは繰り上がりなどで
1 とか
2 とかずれていることが多いので、
電卓のない時代にはこの方法が結構重宝したらしいです。