「オロチ数」を探した結果

f:id:butchi_y:20181206145118p:plain

本記事は素数大富豪 Advent Calendar 2018の9日目の記事です。

adventar.org

はじめに

素数大富豪において、効率的に素数を覚えることは大事です。

たとえば、 101 , 103, 107, 109 のような四つ子素数だったら、 10X と覚えてしまえば一気に4つも素数を覚えられます。

多くの素数大富豪プレイヤーは、四つ子素数をたくさん覚えようとしますが、他にも覚えられる組はないでしょうか?

オロチ数

そこで私は、末尾に任意の数字を入れる覚え方があるなら、先頭に任意の数字を入れてもいいじゃないか、と考えました。

ただし、 297, 1297, 2297, 3297, ... 9297 のように、先頭に0〜9すべての数を当てはめて素数になることは有り得ません。3つに1つは3の倍数になるからです。

なので、3つに1つは飛ばした数として、 1, 2, 4, 5, 7, 80, 2, 3, 5, 6, 8, 90, 1, 3, 4, 6, 7, 9 の列を使います。 そして、

1297, 2297, 4297, 5297, 7297, 8297
297, 2297, 3297, 5297, 6297, 8297, 9297
297, 1297, 3297, 4297, 6297, 7297, 9297

のそれぞれについてすべて素数になるかどうかを判定します。 すると 1297, 2297, 4297, 5297, 7297, 8297 がすべて素数であることがわかり、 X297 が得られます。

頭にいくつも枝分かれしているのがヤマタノオロチのようなので、このような数の組を「オロチ数」と命名することにします(といっても、マタは8つもないのですが・・・)。

追記2018-12-11: 「オロチ数」と命名しましたが、素数なので「オロチ素数」の方がネーミング的によさそうですね。皆さん「オロチ素数」と呼んであげてください。

オロチ数一覧

2桁

X3: 13, 23, 43, 53, 73, 83

2桁の素数は暗記しやすいので、わざわざ覚える必要もないでしょう。

3桁

X57: 157, 257, 457, 557, 757, 857

グロタンカットでおなじみの57が出てきますね。

この組は、tsujimotterさんのブログで「頭にカードを1つ足して得られる素数」として紹介されています。

tsujimotter.hatenablog.com

「Xグロタン」と覚えやすいですし、2枚出し応戦するときはグロタンカット、3枚出しで応戦するときはオロチ数、という使い分けができて強いです。

4桁

X297: 1297, 2297, 4297, 5297, 7297, 8297
X011: 11, 2011, 3011, 5011, 6011, 8011, 9011

X297 は使い勝手がいいですが、 X011 はJを使った3枚出しになるとはいえ0をジョーカーで出すしかないのが辛いです。

5桁

X0177: 10177, 20177, 40177, 50177, 70177, 80177
X0627: 10627, 20627, 40627, 50627, 70627, 80627

こちらもジョーカー必須となってしまいますね。

6桁

X00237: 100237, 200237, 400237, 500237, 700237, 800237

ジョーカー2枚消費は流石にきついです。

7桁

X123747: 1123747, 2123747, 4123747, 5123747, 7123747, 8123747
X124443: 1124443, 2124443, 4124443, 5124443, 7124443, 8124443
X304389: 1304389, 2304389, 4304389, 5304389, 7304389, 8304389
X346623: 1346623, 2346623, 4346623, 5346623, 7346623, 8346623
X647193: 1647193, 2647193, 4647193, 5647193, 7647193, 8647193
X665967: 1665967, 2665967, 4665967, 5665967, 7665967, 8665967
X688143: 1688143, 2688143, 4688143, 5688143, 7688143, 8688143
X742197: 1742197, 2742197, 4742197, 5742197, 7742197, 8742197
X748563: 1748563, 2748563, 4748563, 5748563, 7748563, 8748563
X867003: 1867003, 2867003, 4867003, 5867003, 7867003, 8867003
X872313: 1872313, 2872313, 4872313, 5872313, 7872313, 8872313
X911523: 1911523, 2911523, 4911523, 5911523, 7911523, 8911523
X990441: 1990441, 2990441, 4990441, 5990441, 7990441, 8990441
X025111: 25111, 1025111, 3025111, 4025111, 6025111, 7025111, 9025111

7桁まで来るといっぱいあります。

性質

面白い結果が出ましたね。

2桁: 1個
3桁: 1個
4桁: 2個
5桁: 2個
6桁: 1個
7桁: 14個

と、6桁までは高々2個しか出てこないのに、7桁で一気に14個に増えます。8桁だと53個ありました。(それ以上は計算時間がかかりすぎて算出できてません。)

また、先頭に付く数は 1, 2, 4, 5, 7, 8 が一番多いですね。素数判定が1つ増えるだけで確率はグッと減るようです。

メリットとデメリット

四つ子素数が一度に4個の素数を覚えられるのに対し、オロチ数だと一度に6〜7個の素数を覚えることができます。 ただし、どの数を先頭に入れていいかは3通りあるので、3の倍数チェックをやらなければなりません。

課題

素数大富豪は絵札があるので、先頭の数が1〜9以外に10〜13も使いたくなりますね。

1583, 2583, 4583, 5583, 7583, 8583, 10583, 11583, 13583

のような組ですべて素数になっているものを探すとより汎用性が増しそうですね(確率はかなり下がりそうですが)。

あとは、1001チェックで弾ける合成数を除いた組を探せばさらにヒットするでしょう。 (これは前回のアドベントカレンダーに書いたユーティリティー関数を使えば簡単に探せると思います。)

まとめ

四つ子素数の逆パターンとして「オロチ数」を提案しました。 他にも覚えやすくて面白い数があったら教えてください。

明日はpn_122051さんです。