コラム
» 2018年05月04日 11時30分 公開

ある数が「○の倍数か」を見分けるための“万能”な方法

割り算とどっちが早いのだろう……

[QuizKnock,ねとらぼ]

 ある数が割り切れるかどうか、つまりnの倍数であるかどうかを知りたい場面は結構たくさんある。分数を約分するときや、身近なところだと割り勘を計算するときなどだ。

 場面の多さに比して、ふつう倍数の判定は難しい。例えば「64811は11の倍数か?」に瞬時に答えられる人はそう多くないはずだ。

 ただし、いくつかの小さい整数に対しては、その倍数に関する法則が広く知られていて簡単に見分けられることがある。

 例えば、2の倍数なら必ず一の位は2の倍数(偶数)になる。3の倍数であれば、各桁の数字を足し合わせると和が3の倍数になる(例:357→3+5+7=15は3の倍数)。特に3の倍数の判定法は簡単なので知っておくと便利だ。

 ほかのいくつかの素数に対しても、簡単な判定法があるので以下の画像にまとめてみた。また、合成数の判定はこれらを組み合わせて行えばよい(例えば6の倍数は2と3どちらの倍数でもあることを判定することと同じ)。



 ここに挙げたような例は覚えやすいし楽な判定法であり、一般によく知られている。ところが、7や11の倍数の判定法はあまり耳にしない。

 調べてみると、7の倍数ならこんな方法が出てくる。


数を3桁ごとに区切り、位が小さい方から引く→足す→引く→……を繰り返すと結果が7の倍数になる

(例:4534845→-845+534-4=-315で7の倍数、よって4534845は7の倍数)


 うーん、ややこしい!  3桁ごとに区切って足し引きするのがもう大変だし、結局3桁の数を7で割ってみないと分からない。

 11の倍数も13の倍数もこんな感じの役に立たなそうな方法が出てくる。もう少しシンプルにならないのか。


万能の判定法、現る

 上の7の倍数の方法がなぜイヤかというと、「何桁で区切るんだっけ?」「どの順番で足すんだっけ? 引くんだっけ?」が覚えられないからだ。覚えてもこの方法は基本的に7の倍数にしか使えない(※)し、もう面倒くさいから割り算しちゃえと思ってしまう。

 ※この方法は1001=7×11×13であることに基づく方法なので、11と13の倍数には使うことができる

 そこで調べてみると、どんな数の倍数でも同じような手順で判定できる方法があるらしい。なんだ、それを最初から教えてくれればいいのに。

 その方法とはズバリこれ。

 「一の位の数字に2をかけて、1の位を切り落とした残りから引く」→「nの倍数かどうかを見たい時、nで割って割り切れるかを見る」

 ナンノコッチャなので、具体例を。例の7の倍数でやってみたい。ある数が7の倍数なら、「一の位の数に2をかけて、残った数から引いても7の倍数」。例えば294なら、一の位の4に2をかけた8を29から引くと21。これは7の倍数なので、294は7の倍数である。先ほどの方法では3桁の数字は割るしかなかったが、この方法なら簡単に判定できる。

 さっきの4534845とかいうでかい数でも、4534845→453474→45339→4515→441→42と、同じ操作を繰り返せば7の倍数が判定できる。さっきの3桁区切りよりもだいぶ楽だ。


仕組みはこうだ

 さて、どうしてこのようになるかを説明する。「ある数」が、0〜9の整数aと任意の自然数Aから「10A+a」と表せるとする。このとき、一の位の数に2をかけて、残った数から引いた結果は「A-2a」となる。

 「ある数」10A+aが7の倍数ならば、等式7k=10A+a(kは自然数)が成立して、aについて解くとa=7k-10A。これをA-2aに代入して整理すると21A-14kとなり、14kも21Aも7で割り切れるから、A-2aは7で割り切れる。



 ここからが本題。この説明の7をp、「一の位にかける数2」をnに置き換えれば、あらゆる数の倍数の求め方が見えてくる。



 10n+1(赤字の部分)がpで割り切れれば、A-naはpで割り切れる。従ってnをpに応じて定めることで、どんなpでも同じ方法で倍数判定が行えるというわけだ。そんなnを見つけるのは一見大変そうだが、10n+1の一の位はnが正ならば1、負ならば9になることに着目すればそれほど難しくない。

 例えばp=37なら、一の位を1にするなら3倍(37×3=111)、9にするなら7倍(37×7=259)。10n+1を111にするならn=11、-259とするならn=-26とすればよい。

 なお、nを負とするなら、「一の位に負の数をかけて引く」ので結局足し算をすることに注意が必要だ。


まとめ

 ここまでを整理すると、ある数がpの倍数かどうかを見分けるには次のようにすればいいことが分かる。

  1. 10n+1がpで割り切れるようなnを見つける
  2. ある数の一の位のn倍を、十の位より上の数から引く
  3. 結果がpの倍数かどうか分かれば終了、分からなければ再び2を行う

 方法さえ覚えておけばnを決めるだけで使えるのがうれしいポイント。

 参考までに、代表的な素数pに対するnの例を示しておく。p=3はn=-1で成り立つが、これは冒頭で挙げた「全ての桁を足し合わせる」と同じことになる。


p=5に対しては10n+1が5の倍数となるnが存在しないが、5の倍数はすぐ分かるので問題ない

 nの絶対値が大きいと割り算と同じくらいしんどいが、特に19の倍数などは2をかけて足すだけなので使えそうだ。12065は、12065→1216→133→19で、19の倍数!

 7の倍数とか13の倍数とか分かりにくいわ! とずっと思ってきたが、これで全て解決!

 ……と言いたいところだが、割り算するのとどちらが早いかといわれると微妙なところではある。ただし汎用性はある方法なので、覚えておいて損はないと思う。

制作協力

QuizKnock


Copyright © ITmedia, Inc. All Rights Reserved.

昨日の総合アクセスTOP10

先週の総合アクセスTOP10

  1. 上野樹里、“娘”の誕生日に愛情たっぷり手作りオムライス公開 「がんばろうね ママより」と祝福メッセージ
  2. 石橋貴明&鈴木保奈美が離婚報告 今後は“事務所社長と所属俳優”として「新たなパートナーシップ」構築
  3. 元ブルゾンちえみ・藤原史織、最新ショットに反響 「更に痩せた?? 可愛すぎる」「素敵です!! 足細いですね」
  4. 「美容師人生の集大成を見せる」 タンザニアハーフ女子を縮毛矯正したら「美容師ナメてた」「人生変わるレベル」と360万再生
  5. 出勤時、妻にいつになく強く抱きしめられた夫→妻が家に帰ってくると…… 何気ない日常を描いた漫画にツッコミつつもジーンとする
  6. 怒られたシェパード、柴犬の後ろに隠れたけど…… でっかくて丸見えなしょんぼりワンコが応援したくなる
  7. 塚本高史、中2長女&小6長男の背の高さに驚き 「なんじゃこいつらの成長の早さは!」「俺身長抜かれるんか?」
  8. 「声出して笑った」「狂人度高くて好き」 自転車泥棒を防ごうと不吉そうな箱を自作→まさかの結末迎える漫画が話題に
  9. 石橋貴明の娘・穂乃香「お父さん大好き」 幼少期キスショット公開し「愛されてますね〜」「ステキな写真!」と反響
  10. 基地で生まれ育った子猫、兵士が足踏みすると…… まねをして一緒に行進する姿がかわいい

先月の総合アクセスTOP10

  1. 「産んでくれた親に失礼」「ちょっと我慢できません」 上原浩治、容姿批判のコラム記事に不快感あらわ
  2. ホワイトタイガー「あっ、落としてもうた」 うっかり子どもを落とした母と、落ちてゆく子どもの表情がじわじわくる
  3. がん闘病の大島康徳、肝臓に続いて肺への転移を告白 息苦しさに悩まされるも「大して成長してない」
  4. 「目パッチリです」 宮迫博之、最高難度の美容整形を決行 クスリ疑惑もたれたクマやほうれい線の一掃で“別迫”に
  5. 石橋貴明の娘・穂乃香「お父さん大好き」 幼少期キスショット公開し「愛されてますね〜」「ステキな写真!」と反響
  6. 大島康徳、ステージ4のがん闘病でげっそり顔痩せ 相次ぐ通院に「正直かなりしんどかった」
  7. 山に捨てられていたワンコを保護→2年後…… “すっかり懐いたイッヌ”の表情に「爆笑した」「かっこよすぎ」の声
  8. 「ブス、死ね」 りゅうちぇる、心ない言葉への返答が感銘を呼ぶ 「心もイケメン」「りゅうちぇるのおかげで自己肯定感上がった」
  9. 『はらぺこあおむし』の版元、毎日新聞の風刺漫画を批判 「おそらく絵本を読んでいない」
  10. 小林礼奈、4歳娘を連れて夕食中に客とトラブル 痛烈コメント受けて「私たち親子を悪にしたい人がいる」