1000以下の素数は250個以下を暗算してみた
一橋大学の入試問題
普段は入試問題とか問題文を読むだけでちんぷんかんぷんな私ですが、ごくまれに学のない私にも解読可能なコトバで書かれたやさしい問題をお見かけします。
「円周率は より大きいことを示せ」(2003年 東京大学)
「は有理数か」(2006年 京都大学)
などなど。このくらいカンタンに書いてくださると「読める!読めるぞー!」って気分が味わえて「挑戦してみよかな」ってモチベにつながるわけですが、難解な数式とか専門用語とか並ぶともう意味わかんない><
で、今年のソレはコレ。
「 以下の素数は 個以下であることを示せ」(一橋大学)
twitter の TL で拝見しまして、さっそく考えてみたところ
いや、もっとラクして
という直感が降りてきました。これだけでロジックが分かっちゃった方、かなり凄腕のエスパーです(;´∀`)
ほとんどの方はエスパーではないと思われますので、本題に入る前に軽くウォーミングアップからしていきましょう。
まずはウォーミングアップ
「素数は整数全体の半分以下」と言われたら、さすがにこれは自明ですよね。そもそも人類(整数)の半分は偶数で、確実に合成数なのですから。今なにか意味不明な日本語が混じったようですが、お気になさらず(笑)
では、半分以下ではなく、 以下と言われたらどうでしょう?
試しに の倍数も除外してみます。人類の は の倍数なので、さきほどの素数候補 のうちの は の倍数です。つまり素数候補は 。もう少し削って 以下にしたいところ。
の倍数も除外してみます。。分子を 倍すると分母を超えちゃうので、まだ より大きいようです。
奮発して の倍数もいっちゃいましょう。。分子を 倍しても分母を超えませんでしたので、ここで試合終了!
今回の入試問題的にはこの時点でほぼ が示されちゃいました。細かいこといえば、端数処理どうなってるのとか一緒にまとめて除外されちゃったかわいそうな子達 ()の面倒もみてあげないととかありますが、本題ではないので誤差の範囲ということでテキトーに流します(雑
さて、ウォーミングアップはこのあたりにして、そろそろ本編いきますね(*´∀`*)
ひらめいた解法
合成数にその約数の整数倍を加えた数は確実に合成数で、言い換えれば素数候補はそれ以外の範囲にあるといえます。例えば と互いに素な整数は
という パターンのうちのいずれかに該当します。ということは、 以上 以下の範囲の素数も必ずこれらのパターンに該当しているわけです。
未満の素数は の 個ですので、つまり 以下の範囲における現時点での素数候補数は です。あと ほど削りたいですね。 の倍数は既に除外されてますので、 の倍数もテキトーに消すとしましょう。
、つまり、 を で割ったあまりは ですので、先程の パターンを として を で書き改めると
つまりこれらの式は で割ったあまりが全部 になるように調整したもので、ざっくり の 通りだけ考えても、 の倍数はかなり除外されることがわかります。ということで 通り削って
以下の素数は高々 個以下であることが示されました。横着して 通りだけ削れば
で暗算余裕ですね。
以上により、 以下の素数は 個以下です。