「各桁を足したものが 3 の倍数なら 3 の倍数」のように、2, 3, 5, 9, 10, 11 などいくつかの自然数については、倍数を判定する方法がよく知られている。そのうち、いくつかの判定方法は、倍数か否かが判定できるだけだが、剰余が計算できるものもある。たとえば、前述した 3 の倍数の判定方法の手順、各桁を足すという操作は剰余が保存されるので、3 で割った余りを求めることができる。
本稿では 13 に関して、昔から知られている倍数判定方法、および、筆者が発見した剰余算出方法を紹介する。
13 の倍数判定方法として以前から知られているのは、「3 桁ごとに区切って、下位から 3 桁の数を足す、引く、足す、引く、と繰り返して得られた値が 13 で割り切れれば元の数は 13 の倍数」といものである。言葉だけの説明ではわかりにくいので、$677508619639$ という自然数に対して、この方法を適用してみると、$-67+508-619+639 = 461$ となる。461 を 13 で割るという計算を普通の筆算で行うと、35 余り 6 が得られる。
この操作は剰余を保存している。すなわち、$677508619639$ が 13 の倍数でないことがわかるだけでなく、13 で割ったときには 6 余ることもわかる。
この方法は、元の数を 13 で割るよりも楽であり、また、剰余を求めることもできるが、3 桁の数をいくつも足し引きしなければならず、3, 4 桁の値の数を割り算の筆算が必要になってしまう。
2021 年の 5 月に、より簡単な計算だけで 13 で割ったときの余りを計算する方法を発見した。
基本的な枠組みは上述の方法と同じだが、3 桁の数を 13 を法として合同な数に変換することで計算を楽にする。具体的には、「最上位の数を 4 倍して下 2 桁から引く」という操作である。
さきほどと同じ自然数 $677508619639$ を例に図示する。
067 | 508 | 619 | 639 | (A) | 3 桁ごとに区切る | ||||
---|---|---|---|---|---|---|---|---|---|
- 0 | -20 | -24 | -24 | (B) | (A) の最上位の数を 4 倍し | ||||
67 | -12 | -5 | 15 | (C) | (A) の下 2 桁から (B) を引く | ||||
- | 2 | + | 1 | - | 8 | + | 2 | (D) | (C) を合同な値にする |
$-2+1-8+2 = -7 \equiv 6$ となり、$677508619639 \equiv 6$ となることがわかる。
この方法を使うには、13 の倍数のうち 2 桁のもの、13,26,39,52,65,78,91 を覚えておくと割り算の必要がないので便利である。