icqk3さんの素数大富豪 ver.2にて「ラマヌジャン革命」が追加実装されていますが、「ラマヌジャン革命」と共に新たに公式ルールに加わることが決まった「合成数出しにおける指数表記出し」も実装されているようです。仕事が早い!
はじめに
今素数大富豪が数学好きの間で静かなブームになっています。「素数大富豪って何ですか?」という方は、本アドベントカレンダー1日目のにせいさんの記事を読んでください。
私は素数大富豪を1回しかやったことがなく、戦略やゲームの中で出会った素数達について語れるレベルではありません。その観点では本アドベントカレンダーで素数大富豪の玄人の方たちが存分に語っていますので、ぜひ読んでください。
私はコンピュータを使って面白いことわからないかなぁという観点で素数大富豪 AdventCalendar 2016に2回分登録させていただきました。本記事はその2つ目の投稿で、1つ目は12月6日に投稿しています。こちらも読んでいただけたら幸いです。
素数大富豪数とは
素数の観点から考えると、1より大きい任意の整数は素数か合成数かのいずれかになります。そして素数大富豪の観点から考えると、1より大きい任意の整数は素数大富豪数か非素数大富豪数のいずれかになります。
この記事では素数大富豪数を下記で定義しています。
まず、素数大富豪素数*1はいずれも素数大富豪数になります。最大素数大富豪素数より大きい素数は、素数大富豪にて手として出すことができないため、全て非素数大富豪数になります。
素数大富豪には「合成数出し」というルールがあるため、素数大富豪数は合成数も含まれることに注意が必要です。例えば公式ルールで解説されているという合成数はとなるため、、、、、のカードを捨てることで場に出すことができます。そのためは素数大富豪数になります。
しかし、はですが、ジョーカー2枚をとして使っても7枚のを場に捨てることができません。そのためは非素数大富豪数になります(実は最小の非素数大富豪数です。)。
なお、本アドベントカレンダー22日目のせきゅーんさんの下記の記事にて、次回のルール改版時に「合成数出しにおける指数表記出し」ルールが公式ルールとして追加されることが予告されました。
せきゅーんさんの記事でも言及されていますが、指数表記出しを行うことでは素数大富豪で出せるようになり、晴れて素数大富豪数に昇格する見通しです。なお、指数表記出しルール追加後の最小の非素数大富豪数はになります。突然の指名でもさぞかし驚いていることでしょう。今度はどうかも救ってあげてください。
素数大富豪数判定機
1より大きい整数を素数の観点、素数大富豪数の観点で分類すると、下記の4分類になります。1より大きい任意の整数は下記の分類のどこかただ1つだけに所属しています。
- 素数大富豪素数 (素数大富豪数 かつ 素数)
- 素数大富豪合成数 (素数大富豪数 かつ 合成数)
- 非素数大富豪数の素数 (非素数大富豪数 かつ 素数)
- 非素数大富豪数の合成数 (非素数大富豪数 かつ 合成数)
素数であるか否かは、(簡単かどうかは別にして)素因数分解を行うことで判定できます。しかし、素数大富豪数かどうかの判定は簡単でしょうか。
例えば、
という数を見てこれが素数大富豪数かどうかを判定するのは難しいと思います。
数字列の最後のの箇所でのカードとのカードを出すべきか、のカードを出すべきかパッとわかりません。素因数にが出てくるのであればのカードは温存しておくべきでを出す必要がありそうです。しかし、素因数にが出てくるのであれば逆にを温存しておかないとカードが足りなくなります。
今回、1より大きい整数を入力すると、
- その数が4つの分類のうちのどの分類になるのか
- 素数大富豪数の場合に、どのようにカードを出せばいいのか
本当はどのようなアルゴリズムで素数大富豪数を判定しているのかを紹介したかったのですが、「合成数出しにおける指数表記出し」ルール追加後のプログラム修正時等の別の機会にさせていただきます。今回新ルールでの判定ロジックも作りたかったのですが、12月22日に追加されたルールということで時間が足りませんでした。新ルールでは分割数とか考える必要がありちょっと難しそうです。
この素数大富豪数判定機があれば、身の回りに溢れるあらゆる数たちが素数大富豪で活躍できる数であるかどうかがわかります。今回は素数大富豪数判定機を使って、いろいろな数の判定をしましたので、その紹介を行い締めさせていただきます。以下乱文が続きます。。
明日は本アドベントカレンダーの作成者にせいさんによるまとめの記事です。ありがとうございました。
最大素数大富豪メルセンヌ素数
の形をした素数をメルセンヌ素数といいます。8番目のメルセンヌ素数()までは素数大富豪素数であることがわかりました。そして9番目以降のメルセンヌ素数は非素数大富豪素数でした。そもそもメルセンヌ素数はに対して爆発的に大きくなっていくので、すぐに最大素数大富豪素数より大きくなってしまいます。
最大の素数大富豪数かつメルセンヌ数(最大素数大富豪メルセンヌ素数)は、8番目のメルセンヌ素数である
で、最小の非素数大富豪数のメルセンヌ素数は(最小のエデンの園メルセンヌ素数)、は9番目のメルセンヌ素数である
でした。なお、エデンの園素数とは素数大富豪で出すことができない素数です。
最小のエデンの園双子素数
双子素数というのは差がである素数の組のことです(せきゅーんさんによると、「数の組は素数とは言えないため、素数双子と呼ぶべき」とのことです。)。
最小の非素数大富豪数の双子素数(最小のエデンの園双子素数)は
と
でした。
フィボナッチ数列の素数大富豪数性
フィボナッチ数列は、、、、、、というふうに直前の2項の和を次の項とする数列になります。
最小の非素数大富豪フィボナッチ数(場に出すことができないフィボナッチ数)は
でした。
タクシー数
2番目のタクシー数までは素数大富豪数でしたが、それ以降は非素数大富豪数の合成数でした。
素数大富豪タクシー数
(は合成数出ししなくても「ラマヌジャン革命」の数として使用可能です。)
非素数大富豪数かつタクシー数
タクシー数とはなんですか?という方は下記をご参照ください。
ちなみにせきゅーんさんのタクシー数は素数大富豪数の合成数でした。素数大富豪で使用可能です。さすがですね。
最大素数大富豪フェルマー数
5番目のフェルマー数までは素数大富豪素数でした。
そして6番目のフェルマー数は素数大富豪数
しかし、7番目のフェルマー数は非素数大富豪数の合成数になります。
それ以降のフェルマー数で素数大富豪素数になるものはありません。よって最大の素数大富豪フェルマー数は、
で、最小非素数大富豪フェルマー数(最小の、非素数大富豪数かつフェルマー数)は、
になります。
山の高さ
世界的に有名な山の標高はいずれも素数大富豪数の合成数でした。意外に実戦で使えそう?
エベレスト(8,848m)
K2(8,611m)
キリマンジャロ(5,895m)
モンブラン(4,809m)
富士山標高(3,776m)
【その他】
下記のような特徴的な合成数は非素数大富豪数でした。
私の誕生日も非素数大富豪数でした。。。やはりがネック。
*1:「素数大富豪」に手として出しうる素数を「素数大富豪素数」と呼ぶ。by tsujimotterさん
*2:いつかjavascript等で誰もが使えるように公開できれば良いのですが、javascriptだけでは巨大な整数の素数判定が難しい気がします