第24話 1001
「まずは、あるテクニックを教えるわ。素数判定をするときに役立つ、とても便利な方法よ」
「そんな方法があるんですか?」
みぞれが身を乗り出して聞いた。伊緒菜は、みぞれの食い付きに気を良くし、にやりと笑った。
「その名も、1001チェックよ。これは、四桁以上の数が、7、11、13の倍数かどうかを同時にチェックできる、簡単で強力な方法なの」
「13の?」
みぞれは暗算で素数判定をするとき、いつも13の割り算あたりで力尽きる。それが簡単にできるようになるなら、万々歳だ。
「でもその説明の前に、一つ質問。みんなは素数判定をするとき、頭の中でどんな計算してる?」
「どうって……普通に筆算してます」
戸惑いながらみどれは答えた。その答えに、「えっ」と慧が驚いた。
「筆算してるの?」
「え、してないの?」
伊緒菜はホワイトボードに「323」と書いて、二人に見せた。
「じゃあ、例えばこれは、素数かしら?」
「ええと」
みぞれは頭の中で計算を始めた。3+2+3=8なので、3の倍数ではない。3-2+3=4なので、11の倍数でもない。7で割ると……。
そこまで考えたとき、慧が答えた。
「いえ、17の倍数です。17×19ですね」
「正解」
「ええっ」
「なんでわかったの?」
みぞれも津々実も驚いて慧を見ていた。伊緒菜が慧にホワイトボードを渡す。
「説明して」
「し、仕方ないですね」
渋々といった体でボードを受け取る。
「まず、3の倍数でも11の倍数でもないのは、良いよね? 3を落とすと2が残るし、3+3-2は4だから」
「え、なにそれ」
みぞれはそこで躓いた。自分の計算方法と違う。
「3の倍数判定法、覚えてるよね?」
「うん、全部足して3の倍数なら、3の倍数なんでしょ?」
「そうなんだけど……」
慧は少し考えてから、「246」とボードに書いた。
「これが3の倍数かどうか判定しようと思ったら、足し算をする前に、まず『6』を消していいの。だって、もしこれが3の倍数なら、6を消しても3の倍数になるはずだからね」
「そうなの?」
「そうでしょ? だって、『3の倍数』から『3の倍数』を引いても、3の倍数になるから」
慧はボードに式を書いた。
3m-3n=3(m-n)
「m、nを自然数とすると、左辺の3mと3nはともに3の倍数。これらの差は右辺になるけど、これはm-nが整数だから、整数の3倍でやっぱり3の倍数になる」
「う、うん」
みぞれはとりあえず頷いた。
「だから、『2+4+6』から、あらかじめ3の倍数だとわかる『6』を除いておいても、3の倍数判定には影響しないのよ。だから問題の『323』も、全部足す必要はなくて、『3』をあらかじめ除いて『2』だけ考えればいいわけ」
「じゃあ、11の倍数判定は? これってたしか、一の位から順に『-、+、-、+…』ってやっていくんだよね?」
「それでもいいけど、桁が少ないときは、『奇数桁を全部足して、偶数桁を全部足して、差を取る』って考えた方が早いと思う。こんな風に」
慧はまたボードにペンを走らせた。
323
→ 奇数桁だけ足すと「3+3=6」、偶数桁だけ足すと「2」
→ 差を取ると、「6-2=4」
「で、4は11の倍数じゃないから、323は11の倍数じゃない。こっちの方が簡単じゃない?」
みぞれは納得した。たしかに一の位から順に「-、+」を入れるという計算と、いまの慧の計算は、同じ計算だ。
「そこまではわかった」と津々実が手を挙げた。「でも、323が17の倍数だってすぐにわかったのは、どうしてだ?」
「いまの場合、まず3と11の倍数じゃないとわかったから、次は7の倍数かどうかをチェックした。323に7を足すと330になるけど、33は7の倍数じゃないから、323も7の倍数じゃない」
「ちょ、ちょっと待って」みぞれが割って入った。「なに、いまの計算」
伊緒菜がほくそ笑んでいる。私に説明させたかったのはここか、と慧は思った。
「さっき、3の倍数から3の倍数を引いても3の倍数になるって言ったでしょ? それと同じで、aの倍数にaの倍数を足したり引いたりしても、やっぱりaの倍数になるのよ」
慧は再び数式を書いた。
am±an=a(m±n)
「だから、323が7の倍数かどうかを判定するために、まず7を足したり引いたりして、判定しやすい数にしたの。今の場合は、足せば330になって、330=3×11×10なことはすぐにわかるから、7の倍数でないことがわかる」
330をかけ算の形で表せば、7で割らずに7の倍数でないことがわかるのか、とみぞれは感心した。素因数分解がこんな風に役立つとは。
「次に13の倍数かどうかを調べたけど、これもすぐわかる。323-13=310で、310=31×10だから、やっぱり13の倍数じゃない。で、最後は17だけど」
慧はボードに式を書き並べた。
323+17=340
340=34×10=2×17×10
「こうなるから、340は17で割り切れる。つまり、323も17の倍数だったってことよ」
「これをあんなすぐ計算したの?」
「慣れれば簡単にできる計算よ」
慧はなんてことないように答えたが、みぞれにとっては魔法のような方法だった。すごいなぁ、とみぞれは尊敬のまなざしで慧を見た。
「それで」津々実が口を挟んだ。「伊緒菜先輩、1001チェックっていうのは、これと関係あるんですか?」
「ええ。1001チェックは、いま慧が言った『倍数に倍数を足したり引いたりしても、元の倍数のまま』という性質を使うわ。1001を素因数分解するといくつになる?」
「素数じゃないんですか?」
言いながら、津々実たちはスマホを操作した。
「7×11×13です」
「その通り。ということは、1001は、『7の倍数』でもあるし、『11の倍数』でもあるし、『13の倍数』でもあるということ。だから、元の数に1001を足したり引いたりした結果、7、11、13の倍数になったら、元の数もその倍数だってわかるのよ」
具体例を見てみましょう、と伊緒菜はボードに「4718」と書いた。
「これを1001チェックしましょう。やり方は簡単。まず、どの桁からでも良いから、1001を何度も引いて数を小さくしていく。4718だったら、1001を4回引きましょう」
伊緒菜はボードに筆算を書いた。
4718
-4004
―――――
714
「1001を何回か引くと3桁の数にできるから、あとはそれが7、11、13の倍数かどうかチェックすればいい。714は、7も14も7の倍数であることから、7の倍数だとわかる。よって、元の4718も7の倍数だとわかるの」
他の数でもやってみましょうか、と言って、伊緒菜は「15769」と書いた。
「1001はどこから引いても良いから、今回はまず上から1001を引きましょう」
またボードで筆算した。
15769
-1001
――――――
5759
「そしたら、今度は5759から1001を5回引く」
5759
-5005
―――――
754
「これは、7、11、13の倍数になってる?」
伊緒菜が質問すると、数秒で慧が答えた。
「13の倍数ですね」
「その通り。ということは、元の15769も、13の倍数だったってこと」
津々実はしばらく思案顔だったが、やがて「なるほど」と呟いた。
「割り算より引き算の方が簡単だし、1001を引くだけなら暗算でもできる。倍数判定しやすい数になるまで、何度も1001を引けばいいってことですね」
「そういうことね」
「で、でも」みぞれはボードの「754」を指差した。「これが13の倍数かどうかなんて、わかりません。さっき慧ちゃんが言ってたみたいに、13を足したり引いたりしても、キリの良い数になりそうにないですし……」
「そうね。慧はいま、どうやって計算したの?」
「7と11の倍数でないことは、見た目でわかって……13×2=26ですから、754に26を足して780、78は13の6倍なので、754も13の倍数だとわかります」
「そんなの無理ぃ」
みぞれが嘆いた。津々実もみぞれの肩を持つように聞く。
「見た目でわかるってなに? 勘?」
「勘じゃないわ。754=700+54で、700は7の倍数だけど54は7の倍数じゃないから、754は7の倍数じゃないとわかる。あと、7+4-5=6だから、11の倍数じゃないこともわかる」
「たしかに見た目でわかるね……」
おそらく慧は、いまの計算を無意識でできるのだろうな、と津々実は思った。だから「見た目」という表現が口から出たのだ。
「慧の計算力はちょっと特殊だけど」と伊緒菜。「みぞれでもこれが13の倍数だと、簡単に判定できる方法があるわ」
「まだ何かあるんですか!?」
みぞれは顔を上げて食い付いた。
「1001チェックとほとんど同じ方法よ。その名も、91チェック!」
「91……」みぞれは、過去の試合で見た記憶があった。「7×13、ですよね。前に慧ちゃんが出してた気がします」
「そうだっけ?」
慧は覚えていなかった。伊緒菜は、相変わらずすごい記憶力ね、と思った。
「91を足したり引いたりしても、7、13の倍数であることは変わらない、ってことですか?」
伊緒菜は頷いたが、
「でも、暗算で91を引くのは、ちょっと大変じゃない? 繰り下がりが出てきちゃうから」
と言いながら、ボードに筆算した。
754
- 91
――――
663
「人間の頭は、繰り下がりの引き算を暗算できないわ。そこで、91を引く代わりに、101を引いて10を足す、という方法を使う」
754
-101
+ 10
――――
663
「こっちの方が簡単そうでしょ?」
1001を引くのが簡単だったように、101を引いたり10を足したりするのも比較的簡単だ。
「ええと、754の場合は、707を引いて、70を足せば良いんですか?」
「どっちかな……たぶん、404を引いて40を足した方が良いじゃないかしら」
754
-404
+ 40
――――
390
「ここで39に注目すると、これは明らかに13の倍数でしょ?」
明らかだろうか、とみぞれは思ったが、確かに13×3だ。
「だから754は13の倍数だし、元の15769も13の倍数だってことになるのよ」
説明は以上だった。みぞれ達は各々、伊緒菜の説明を頭の中で反芻して、理解していく。その様子を見ながら、伊緒菜は付け加えた。
「2、3、5の倍数はこれまでも簡単に判定できたと思うけど、1001チェックを使えば7、11、13も簡単に判定できるようになる。これで、13までの素数の判定が、簡単にできるようになるのよ」
「それより上はないんですか?」
津々実が当然の疑問を口にする。
「あることはあるわ。まず、
1000-31=969なので、1000を引いてから31を足す、という方法が使える。慧は、そのくらいならできそうだと思った。
「もうひとつ有名なのは、2001チェック。これは私もたまに使うわ。23×29×3よ」
「ってことは」津々実が整理する。「1001チェック、969チェック、2001チェックを全部使えば、29までの素数が全部判定できるってことですか」
「便利でしょ?」
これらを使っても、四桁以上の数を素数だと「確定」させることはできない。だが29までの割り算をしなくて済めば、計算時間を大幅に減らせる。それに、素数である「確率」を上げることもできる。
「簡単簡単とは言ったけど、試合中に1001チェックや2001チェックを使えるようになるには、ある程度の練習が必要よ。というわけで、合宿の最初のメニューは、この二つの練習として、あるゲームをしましょう」
伊緒菜はトランプを箱から出して、シャッフルした。
「いまから、私がランダムに四枚のトランプを出すから、それが1001チェックと2001チェックを通るかどうか、なるべく早く判定してね。素数かどうかは判定しなくていいわ。最初に判定できた人に+1点、最初に判定できても間違ってたら-1点。10回やって一番点の高かった人が優勝」
「優勝者には何か出るんですか?」
津々実が目を光らせる。
「え? ううん……」伊緒菜は眼鏡を押し上げ、「夕ご飯が少し豪華になるかも?」
「ご飯か……」
食べ物に釣られるほど子供ではなかったが、賞品には違いない。
みぞれは真剣な目になった。これまで試合中に、13や23の倍数を出してしまったことは、何度もあった。計算の苦手なみぞれはずっと勘と記憶を頼りに戦ってきたが、1001チェックをものにすればより精度よくカードが出せるようになるだろう。
「最初は、これ!」
伊緒菜がカードを4枚出した。5、3、Q、A。
「53121をチェック!」
ええとええと、とみぞれは頭を回転させた。53121から1001を引くと、52120になって、上から1001を5回引くと……あれ、これだと繰り下がりが出ちゃう。
みぞれが繰り下がりに苦闘している間に、慧が言った。
「1001も2001も通ります。どの倍数でもないです」
伊緒菜はスマホを見て、
「正解!」
「はや……」
計算力では慧に勝てないのだろうか。みぞれの横で、津々実が呟いた。
「なんとなくコツがわかった気がする。なるべく繰り下がりが出ないように引き算した方が良いんだな。今の場合、上から5005を引こうとしたのがまずかった。2002を引かなきゃいけなかったんだ」
伊緒菜がホワイトボードに得点表を書いた。慧に1点を追加する。
「では第2問!」4枚のカードを並べる。「6KAJをチェック!」
みぞれは、この方法の欠点に気付いた。トランプは11以上の数がJQKのアルファベットで書かれているため、パッと見で桁数がわからない。だから、1001を引こうにも、千の位がどこなのか瞬時に判断できないのだ。
6KAJを数字に変換すると、6、1、3、1、1、1。だから千の位は、ええと、3だ。つまり1001を引くと、612110になる。そしたら今度は上から1回引くと、一番上は5になって、その下は……。
「23の倍数です」
突然慧が言った。
「正解!」
と伊緒菜が宣言する。
「うっそ、はや。あたし、1001チェックが終わったとこだよ」
みぞれは1001チェックすら終わっていなかった。やっぱり二人ともすごいなぁ、と改めて感心する。
「さすが慧は早いわね。何かコツとかある?」
得点を書きながら伊緒菜が聞く。
「コツと言いますか……2や3で割ったりもしてます。いまの613111なら、1001を引いていくと502になるので、これを2で割ります。すると251になりますが、これは素数なので、7、11、13の倍数ではありません」
みぞれはぽかんとした。
「割っても良いの?」
「うん。2で割っても、7の倍数かどうかには影響しないから」
7の倍数を2で割っても7の倍数だ。また、7の倍数でない数を2で割っても、7の倍数になったりはしない。これも素因数分解を使えば理解できる。「2×7×○○」で表される数を2で割っても、7の倍数であることは変わらない。
「さすがね。じゃ、第3問行きましょう!」
伊緒菜は次のカードを出した。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます