アルゴリズム論特論(塩田)第5回 (3) 九去法

九去法

 $\bmod 9$ の法演算を応用した検算法を紹介しましょう。
Ex.8 $367 \times 52 = 19084$ の検算をしてみましょう。 $\newcommand{\add}{\textcolor{blue}{\boldsymbol{\longrightarrow}}}$ $\newcommand{\delnine}{\textcolor{red}{\boldsymbol{\longrightarrow}}}$
  • 被乗数、乗数、答えのそれぞれの 各桁の数字を足します
  • ただし、$9$ を超えているときは $9$ を引きます ( 九を取り去る )。$\require{color}$
    被乗数$\quad 367 \add 3+6+7 = (\textcolor{red}{3+6})+7 \delnine 7$
    乗数 $\quad 52 \add 5+2=7$
    答え $\quad 19084 \add 1+9+0+8+4=(\textcolor{red}{1+8})+\textcolor{red}{9}+4 \delnine 4$
  • 「 被乗数から得られた $7$ 」と「 乗数から得られた $7$ 」を掛けた $7 \times 7$ でまた同じことをします。
  • $7 \times 7 = 49 \add 4 + \textcolor{red}{9} \delnine 4$
  • 「 答えから得られた $4$ 」と一致したので一安心します。
原理 $\bmod 9$ では $10 \equiv 1$ なので、 Cor.7 から $\forall e \geqq 0$ について
$10^e \equiv 1$
が成り立ちます。従って
$367 = 3 \times 10^2 + 6 \times 10 + 7 \equiv 3 \times 1 + 6 \times 1 + 7 \equiv 3+6+7 = (3+6)+7 \equiv 7$
という計算ができ、
被乗数 $\times$ 乗数 $\equiv 7 \times 7 \equiv 4 \equiv$ 答え
のはず、ということです。 計算間違えは繰り上がりなどで $1$ とか $2$ とかずれていることが多いので、 電卓のない時代にはこの方法が結構重宝したらしいです。