先日、7 で割ったときの余りを求める方法と 13 で割ったときの余りを求める方法を投稿した。
つい先日、7 で割ったときの余りと 13 で割ったときの余りをほぼ同時に求める方法を発見した。これは、$1001 \equiv 91 \equiv 0 \pmod{7 \times 13}$ であることを利用している。
基本的な枠組みは「
13 の倍数判定、あるいは自然数を 13 で割ったときの余りの筆算
」と同じで、「3 桁ごとに区切って、下位から 3 桁の数を足す、引く、足す、引く、と繰り返す」ことで剰余を求める。3 桁の数を 2 桁以下の合同な値に変換するには「最上位の数を 9 倍して下 2 桁に足す」という操作を行う。
自然数 $677508619639$ を例に図示する。
067 | 508 | 619 | 639 | (A) | 3 桁ごとに区切る | ||||
---|---|---|---|---|---|---|---|---|---|
+ 0 | +45 | +54 | +54 | (B) | (A) の最上位の数を 9 倍し | ||||
67 | 53 | 73 | 93 | (C) | (A) の下 2 桁に (B) を足す | ||||
- | 4 | + | 4 | - | 3 | + | 2 | $=-1 \equiv 6$ | (C) を 7 を法として合同な値にしたあと加減 |
- | 2 | + | 1 | - | 8 | + | 2 | $=-7 \equiv 6$ | (C) を 13 を法として合同な値にしたあと加減 |