理系に寿司をおごるぼく「支払い額に含まれる最大の素因数分だけ出してくれ」

この前の夏のことです。理系院生2人と文系社会人のぼくという3人で徹夜で寿司を食べるというイベントがありまして。普段は神奈川、名古屋、大阪に住んでいる3人が、別に約束したわけでもないのに偶然名古屋に集合した。そして突然切り出される徹夜寿司。唯一の社会人であるぼくは腹をくくります。

全員夕ごはんを食べてからの集合とはなりましたが、徹夜で寿司となればわりといい金額になるのでは…?全額払うのはまったく構わないしむしろ初任給でご馳走させてくれ、という気分でもあったのですが、ただ払うのもつまらない。ちょっとした賭けに出ることにしました。

スポンサーリンク
レクタングル大

「支払い額が含む最大の素因数だけ払ってくれ」

これです。理系2人に対してこう提案しました。4桁の自然数の素数分布をイメージすればわかるとおり、ぼくが圧倒的に不利な提案ではあるけれどちょっとスリリング。素数分布なんて考えなくても、会計額が素数になることはあまりない気がするのでぼくが支払うことは決定したようなものです。

参考:素因数(Wikipedia)

結果は8200円。8200=41×5^2×2^3ということで理系のお二人から41円ずつ出してもらい、ぼくは8118円払いました。ちゃんちゃん。

ところが最近になってこの8200円付近には、このゲームにおいてかなりクリティカルなポイントが存在することがわかりました。それは何なのか。

全額か2円か

その前にまず、この支払い方法で理系が最も得をするのはどんな場合でしょう?支払い額に含まれる最大の素因数が小さければ小さいほどいいので、素因数2のみで構成されている支払い額のとき、理系は最もお得。すなわち、

支払い額=2^n

で表現できればよいのです。

ところで素数にもいろいろ種類があって、その中のひとつにメルセンヌ素数というものがあります。それは、

2^n-1

で表される素数のこと。2^n-1の形をした数をメルセンヌ数と言って、それが素数になるときを特にメルセンヌ素数と呼ぶのです。たとえばn=2のとき、2^2-1=3となってこれはメルセンヌ素数。n=4のときは2^4-1=15でこれは素数ではありません。

参考:メルセンヌ数(Wikipedia)

もうだいたい話は見えたと思います。メルセンヌ素数(2^n-1)と、メルセンヌ素数+1(2^n)の支払い額を比べると、全額と2円の開きがあるのです。そして4桁の自然数で最大のメルセンヌ素数が8200付近にあって、8191なんです。理系はお会計が8192円だったら2円、8191円だったら全額払わなければいけない。たった1円の違いがここまで財布へのダメージに差を与えるわけです。おそろしい…

徹夜寿司イベントでは、もし支払い額が素数だったら全額出してもらうつもりでいました。そうじゃないとなんとなく素数に失礼な気がして。でも支払い額が素数だったらきっと財布へのダメージなんかどうでもよくて、支払い額が素数だ!というこの一点でお祭り状態になれる気がします。なんたって理系ですからね。

スポンサーリンク
レクタングル大
レクタングル大

シェアする

  • このエントリーをはてなブックマークに追加

フォローする