最大公約数はユークリッド互除法で

 東大のn乗数問題を解いて以降、俺は成宮と問題を出し合うようになった。難易度はなるべく高くしているが、あまり力を入れ過ぎると問題作成に時間がかかる。それに、ほかの教科に手が回らなくなっては本末転倒だ。

 

「でも、手は抜きたくないしな」


 俺は数学書を読みながら一人呟いた。


 翌日、ホームルーム前の教室で成宮から用紙を受け取った。彼は笑みを浮かべて言った。


「もっと難しい問題を出してくると思ったら、小学生でも解けるじゃないか」

「どんな問題出したの?」

「あとのお楽しみだ」


 俺は席に座ってシャープペンを手に取った。


 次の3数を比較して、大小を不等式で表せ。

 2  10673  7767  291


「何これ。成宮君、解かせる気ないじゃん」

「出題者が解けない問題を出すわけないだろ。ちゃんと解法はある」

「どんな解法?」

「指数の最大公約数を求めればいい」


 高校では素因数分解で求める方法が一般的だろう。96と240を例に出すと、まず2つの数を素因数分解する。


 96=2 5・3、240=2 4・3・5


 共通の約数(公約数)で最大なのは2 4と3だから、最大公約数は2 4・3=48

 これでもいいのだが、数字が大きくなると素因数分解だけでは難しい。そこで有効なのがユークリッド互除法だ。


「ユークリッドって?」

「古代ギリシャの数学者だよ。『ユークリッド原論』という数学書で有名なんだが、その中に記されている」


 概要は至ってシンプルだ。さっきの例で出した96と240で記す。


 240を96で割ると、2余り48

 96を48で割ると、2で割りきれて終了。

 よって、最大公約数は48


「あっという間に終わっちゃった……」

「素因数分解する手間を考えると、ユークリッド互除法がどれほど万能かが分かる」

「でも、問題には数字が3つあるよ」

「3つの場合は、その内2つを選んで計算すればいい。1067と776でやってみるか」


 1067=1・776+291

 776=2・291+194

 291=1・194+97

 194=2・97


「291はどうするの?」

「97で割る」

 

 291/97=3


「3つの数の最大公約数は97だから、 2  10673  7767  291は次のように書き換えられる」


 2  1067=(2 11) 973  776=(3 8) 977  291=(7 3) 97


「結局は2 113 87 3を比較すればいいってことね」

「そういうことだ。2 11=2048、3 8は……81 2だから6561か。7 3=343だから」


 7  2912  10673  776


「早っ。まだ五分も経ってないのに」

「常用対数表があれば桁数も分かる」

「対数ってlog?」

「そう、底を10としたときの値は教科書に載ってるし、載ってなくてもネットで調べればすぐに出てくる」


 愛華は腕を組み、眉根を寄せた。とりあえず値だけ確認しとこう。


 log(10)2≒0.3010、log(10)3≒0.4771、log(10)7≒0.8451


「最初のlog(10)2≒0.3010は10    0.3010≒2という意味。同様にlog(10)3≒0.4771は10    0.4771≒3、10    0.8451≒7だ。まあ、これは参考程度に覚えておけばいい」


 [0.3010・1067]=321。[0.4771・776]=370、[0.8451・291]=245


「和人、数字の間にある[]は何?」

「ガウス記号と呼ばれるものだ。小数点以下を切り捨てるときに使う。求めたいのは桁数だけだから、整数部分だけ分かればいい」


10  3212  106710  322

10  3703  77610  371

10  2457  29110  246


2  1067は322桁、3  776は371桁、7  291は246桁。


「意味は分かんないけど、とてつもなく大きい数なのは分かった」

「感覚だけでも掴んでもらえれば充分」


 成宮に解答を渡すと、彼は笑顔で受け取った。悔しそうな表情は一切見せていない。


「そっちは解けたのか」

「もちろん。友村さんはまだ問題見てないよね」


 成宮はそう言って、問題用紙を愛華に見せた。


 3つの異なる自然数がある。和が65024、最大公約数が8128のとき、3つの自然数を求めよ。

 

「これ、小学生でも解けるの?」 

「難しい知識は必要ないからね。手順も至ってシンプル」


 65024を8128で割る。65024/8218=8


 8を3つの異なる自然数の和に分解する。


 8=1+2+5、8=1+3+4


 上の式の右辺、左辺に8128を掛ける。


 65024=8128+16256+40640、65024=8128+24384+32512より、


 (8218、16256、40640)、(8128、24384、32512)


「さっきより簡単」

「でしょ? すぐ終わると思うけど、互除法で検算しておこう」


 40640=2・16256+8128

 16256=2・8128


 32512=1・24384+8128

 24384=3・8128


「確かに小学生でも解けるね。桁数が多いから計算は大変だけど」

「5桁掛ける1桁なら筆算でも余裕だよ。それにしても、8128をチョイスするとは洒落てるね」

「何か特別な数字なの?」

「完全数っていうんだけど、その数自身を除く約数の和を足すと、その数になる……言葉だけだとややこしいから、例を出した方が早いね。最小の完全数は6。次が28だよ」


 6の約数は1、2、3、6

 その数自身を除いた約数の和 1+2+3=6


 28の約数は1、2、4、7、14、28

 その数自身を除いた約数の和 1+2+4+7+14=28


「へぇ、こんな数があるんだ。8128も完全数?」

「そうだよ。……もうすぐホームルームだから続きは昼休みにしよう」


 自分の席に戻り、俺はため息をついた。解かれるのは分かっていたが、何度も「簡単」と言われると悔しい気持ちになる。もう少し難易度を上げた方がよかったかもしれない。

 

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る