0

7 の倍数判定、あるいは自然数を 7 で割ったときの余りの筆算

498
1

倍数判定、あるいは剰余算出

「各桁を足したものが 3 の倍数なら 3 の倍数」のように、2, 3, 5, 9, 10, 11 などいくつかの自然数については、倍数を判定する方法がよく知られている。そのうち、いくつかの判定方法は、倍数か否かが判定できるだけだが、剰余が計算できるものもある。たとえば、前述した 3 の倍数の判定方法の手順、各桁を足すという操作は剰余が保存されるので、3 で割った余りを求めることができる。

本稿では 7 に関して、昔から知られている倍数判定方法、および、筆者が発見した、倍数判定方法や剰余算出方法を紹介する。

昔からある 7 の倍数判定方法

7 の倍数判定方法として以前から知られているのは、「下 1 桁を 2 倍したものを、下 1 桁を除いたものから引く」、という操作を繰り返して得られる値が 7 で割り切れるか否か」というものである。この方法を、仮に「下 1 桁 2 倍法」と呼ぶことにする。
(筆者は 40 年くらい前に書籍で知っただけで、今となってはその書籍がなんだったかも覚えていない。)

「下 1 桁 2 倍法」は、比較的用意に 7 の倍数か否かを判定できるが、剰余は保存しないので、7 で割り切れない場合に、余りがいくつになるのかは、直接的にはわからない。
7 で割り切れる数である 3046729 と、7 で割ると 6 余まる 3046728 に対して「下 1 桁 2 倍法」を適用したものを図示する。3046729 の方は最終的な値 28 が 7 で割り切れるので 7 で割り切れる。3046728 の方は最終的な値 18 が 7 で割り切れないので、7 で割り切れない。3046729 を 7 で割った余りがいくつになるかは、直接的にはわからない。

304672|9×2304672|8×2)18)1630465|4×230465|6×2)8)123045|7×23045|3×2)14)6303|1×2303|9×2)2)1830|1×228|5×2)2)10280(mod7)184(mod7)
念の為に書き添えておくと、「下 1 桁 2 倍法」は操作によって 2 桁以下になったところで 7 で割り切れるかを判定する。九九の 7 の段のほか、70, 77, 84, 91, 98 が 7 の倍数であることを知っていなければならない。

新たな 7 の倍数判定方法と剰余算出方法

2020 年の 5 月に、「下 1 桁 2 倍法」とほぼ同様の手続きで判定できる「下 1 桁 5 倍法」と「下 2 桁以外 2 倍法」を発見した。

下 1 桁 5 倍法

前者は「下 1 桁を 5 倍したものを、下 1 桁を除いたものに足す」という操作を繰り返すもので、「下 1 桁 2 倍法」とほぼ同じである。52(mod7) であるから、操作の結果得られる値も等しくなる。

「下 1 桁 5 倍法」に関しても、30467293046728 に対して適用したものを図示する。

304672|9×5304672|8×5+)45+)4030471|7×530471|2×5+)35+)103050|6×53048|1×5+)30+)5308|0×5305|3×5+)0+)1530|8×532|0×5+)40+)0700(mod7)324(mod7)

特に、3046728 に対して「下 1 桁 2 倍法」「下 1 桁 5 倍法」で計算した結果が合同であること、すなわち 18324(mod7) に注目。

「下 1 桁 5 倍法」は、「下 1 桁 2 倍法」に比べ、5 倍の計算が面倒か、操作によって中間結果がどんどん大きくなっていって大変か、という懸念があった。しかし、実際にやってみると、5 の段のかけ算なので面倒ではないし、5 倍したものの下 1 桁は 0 か 5 なので、むしろ足し算は容易である。繰り下がりよりも、繰り上がりのほうが手計算では間違いが発生しにくいし、中間結果が変に大きくなりすぎることもない。

下 2 桁以外 2 倍法

ここまでで紹介した「下 1 桁 2 倍法」「下 1 桁 5 倍法」は、いずれも剰余は保存されないので、倍数判定はできても、剰余を算出することはできない (厳密には、操作を何回繰り返したか、中間結果の値がいくつか、を元に算出できる)。
「下 2 桁以外 2 倍法」は、「下 2 桁以外を 2 倍したものを、下 2 桁に足す」という操作を繰り返すものである。この操作の前後の値は 7 を法として合同なので、繰り返し操作しても剰余が保存される、すなわち、元の数の剰余が求められるのである。

例によって、30467293046728 に対して「下 2 桁以外 2 倍法」を適用したものを図示する。3046729 に対する一回目の操作は、下 2 桁 29 に、下 2 桁以外、すなわち上 5 桁を 2 倍した値 60934 を加えている。

03×20467|2903×20467|28+)060934+)06093406×209|6306×209|62+)01218+)0121801×22|8101×22|80+)024+)02401|×20501|×204+)02+)0276

「下 2 桁以外を 2 倍したものを、下 2 桁に足す」と、2 倍する桁数が多いのだが、2 をかけるだけなのでさほど大変ではない。また、「下 1 桁 2 倍法」「下 1 桁 5 倍法」に比べると、一回の操作で減る桁数が倍なので、操作の回数は少なくて済む。
もちろん、剰余が計算できるのは大きい。

新しい「7 で割った余りの算出方法」

基本の手順

先日 (2021年5月),「下 2 桁以外 2 倍法」を応用して、より桁数の少ない計算手順で剰余を求める方法を発見した。仮に、「2 桁 2 倍法」と呼称する。
基本的には、10 進で表現された数を 2 桁ごとに区切り、上のほうから 2 倍して下位に足し込んでいく、という手順を繰り返すだけである。ただし、計算の途中の値は、随時 7 を法として合同な値に替えてもよい。

今までと同様、自然数 3046728 に対して「2 桁 2 倍法」を適用した例を図示するが、例として簡単すぎるので、自然数 98765432111 に適用した例も示す。図中、%7 で示した矢印は 7 を法として合同な値に替える操作である。
98765432111=14209347447+3 なので、得られた値は正しい。

3%704%767%728%73×244010%710%7663×23×266

9%787%765%743%721%711%72×2321037%72×25×23×24%740×2410%76%73031

実際の筆算手順

実際に筆算するときには、対象の自然数を書いたあと、2 桁ごとに区切る線を引き、そのブロックごとに下に必要な計算をしていけばよい。実際には表組みするほどではないが、下の表で説明すると、2 桁ごとに区切る線を引くと (A) ができる、(A) を計算しやすい一桁の値に変換していき、(B) ができる。あとは上位のブロックから、前列最後の値と (B) の和を 2 倍する、という操作を繰り返していく。

| 09 | 87 | 65 | 43 | 21 | 11 |(A)| 2 桁ごとに区切った値 |
| --- | --- | --- | --- | --- | --- || |
| 2 | 3 | 2 | 1 | 0 | -3 |(B)| (A) と合同な値 |
| 4 | 7 | 2 | 5 | 3 | -4 |(C)| 前列のいちばん下の値 と (B) との和 |
| | 0 | 4 | 10 | 6 | 3 |(D)| 以下、必要に応じて 2 倍したり、合同な値に変換したり |
|||| 3 | -1 | |(E)| |

2 桁以下の 7 の倍数は覚えておく必要があるが、九九の 7 の段と、70,77,84,91,98 を覚えておけばよいだけである。

投稿日:2021729
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

百姓

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. 倍数判定、あるいは剰余算出
  2. 昔からある 7 の倍数判定方法
  3. 新たな 7 の倍数判定方法と剰余算出方法
  4. 下 1 桁 5 倍法
  5. 下 2 桁以外 2 倍法
  6. 新しい「7 で割った余りの算出方法」
  7. 基本の手順
  8. 実際の筆算手順