この記事は素数大富豪Advent Calendar 2018の19日目の記事です。
adventar.org
今年も早いもので残りK日となりました*1。さて、本日、私・カステラが取り上げるテーマは「合成数出し」です。素数大富豪は「決められた出し方に沿ってカードを出し最も早く手札をなくしたプレーヤーが勝つゲーム」という点では大富豪やページワンなどと同じですが、「任意の(2以上の)整数は素数の積に一意に分解される」という素数の特徴*2が反映された合成数出しこそ素数大富豪を素数大富豪たらしめていると言ってよいでしょう。合成数出しの誕生のいきさつは素数大富豪の考案者・せきゅーんさんのブログに詳しく書かれています。
integers.hatenablog.com
この記事ではそんな合成数出しについて主に戦略面を中心に語っていきます。
強い合成数出し
素数出しにおいても強い素数があるように、合成数出しにも強い合成数が存在します。
2枚出し
- KT=2*5*KA
- KJ=3*19*23
- KQ=2^5*4A
- KK=K*TA
以上の4つが2枚出し最大素数QKより大きな合成数です。単に強いだけでなく2枚出しで手札を一度に5~7枚も消費できることも魅力的です。とくにKQについては初期手札の時点から揃っている場合が他と比べて多いので、見つけたときにはそれを勝負手にして手札を組むとよいでしょう。
3枚出し
- KKQ=2^4*29*283
- KKK=3*7*K^2*37
3枚出し最大素数KKJより大きな合成数はこの2つですが、2枚出しと比べると出される頻度は一気に下がります。というか揃うことが滅多にない。そこで比較的出しやすく戦略に幅をもたせることからオススメするのが合計8枚消費の3枚出しです。これは初期手札11枚を
- (3枚出し)→(8枚消費の3枚出し)
に分けて出すことでKKJなどの強い素数がなくても、最初の3枚出しに対する相手のカウンターが小さければ残り8枚を一気に出して上がることができる「必殺技」です。以下に2万以上の3枚出しのうち、合計8枚で出せる合成数をまとめました。あなたのお気に入りを見つけて実戦で出してみましょう。
- 2JT=2*5*2AJ
- 2JK=43*49A
- 2KT=2*5*2KA
- 2KJ=TA*2AA
- 3TJ=3*T337
- 3JJ=53*587
- 3QT=2*5*3QA
- 3QJ=23^2*59
- 3QK=7^3*7*A3
- 3QK=7^2^2*A3
- 3QK=7^2*7^2*K
- 3QK=7^2*7*7*K
- 3QK=7*7*7*7*K
- 4JT=2*5*4AJ
- 4JJ=7^2*839
- 4JJ=7*7*839
- 4KJ=T9*379
- 4KQ=2^5*Q9A
- 5TT=2*5*5TA
- 5TK=K9*367
- 5JJ=3^4*63A
- 5JK=79*647
- 5QJ=83*6A7
- 5KJ=K*3947
- 5KK=23^2*97
- 6TT=2*5*6TA
- 6QT=2*5*6QA
- 6KT=2*5*6KA
- 6KQ=2^7*479
- 7JK=7*TA59
- 7QT=2*5*7QA
- 8JT=2*5*8AJ
- 8JQ=2^3*TK9
- 8QJ=K*6247
- 9KK=Q7*7A9
- TTJ=83*QA7
- TJT=2*5*TAJ
- QTT=2*5*QTA
- KQT=2*5*KQA
4枚出し以上
4枚出し以上になると合計11枚の合成数出しが狙えるようになります。つまり初期手札の全出しです。素数大富豪cpuと対戦していると時折cpuが初期手札全出し合成数をすることから、初期手札11枚が実は合成数出し可能であったということが少なからずあるわけです。とは言うものの実際にそれをその場で計算して見つけるのは非常に困難です。しかも、初期手札は合成数出しの形の順番どおり都合よく並んでいるわけではありませんから仮に覚えていたとしてもそれをバラバラに並んだ初期手札から見つけるのは容易ではないです。そこでより見つけやすい合成数を優先して覚えるのがひとつの作戦です。どんな合成数が「見つけやすい」かは個人の感じ方によるため、一概に言うことはできませんが、ここでは使用するカードがばらけているものを取り上げます。初期手札にダブりがあるかどうかは簡単に判断できるので、もしなかった場合は以下の合成数出しが出せるチャンスがあります。
必要な11枚がすべて異なる11種11枚合成数出し(カッコ内は含まれない2種)(追記(2021年2月23日): はちさんにより11種11枚合成数出しは以下の35個ですべてであることが検証されました。*3 )
- 4AJQ=2^3*K*59*67 (8T)
- 4K6T=2*3*5*A7*8J (9Q)
- 6JK4=2*3A*9857 (TQ)
- 7Q9T=2*5*J*648A (3K)
- 85KQ=2^4*7*J*69A (3T)
- QKT6=2*7A*8543 (9J)
- 85674=2*3*T9*KA (JQ)
- T5496=2^3*KA87 (JQ)
- Q5378=2*J*4A*K9 (6T)
- Q9A84=2^5*J*367 (TK)
- K8976=2^5*43*TA (JQ)
- 3869Q=2^5*T7*AK (4J)
- 5Q86A=43*J927 (TK)
- 58AK6=2^4*3*QT7 (9J)
- 58KA7=J*43*Q29 (6T)
- 5928J=47*Q6A3 (TK)
- 6Q253=4A*T9*K7 (8J)
- 68AK4=2*97*35J (TQ)
- 7A6T4=2^3*895K (JQ)
- 76T48=2^3*95KA (JQ)
- 8T7A4=2*3*K5J9 (6Q)
- 8523K=7*J*AT69 (4Q)
- 9Q7A8=2*43*T6K (5J)
- 9624J=857*AQ3 (TK)
- T8Q23=J*K*756A (49)
- T853Q=2^7*6A*K9 (4J)
- AQJ59=K*86243 (7T)
- QA5T4=2^7*J*863 (9K)
- A78629=3*J*54K (TQ)
- 3654A7=K*28T9 (JQ)
- 63852A=K*49J7 (TQ)
- T9365A=K*84Q7 (2J)
- AT7469=J*83*QK (25)
- J65A84=2^7*9T3 (QK)
- Q84A73=J^2*T6K (59)
A~Tにあと1枚加えてできる合成数出し(カッコ内は加えるカード)
- 4T29A=7*586A3 (A)
- 74285A=3^6*TA9 (A)
- 65T8=2*2*4A*397 (2)
- 43A56=2*2*T789 (2)
- 83426=2*7*59*TA (2)
- T2754=2*83*6A9 (2)
- 453389=67^2*TA (3)
- T3648=2^5*4A*79 (4)
- T6875=3^2*5^4*A9 (5)
- 968T=2*3*5*7*46A (6)
- 656A8=2*7*43*T9 (6)
- 46578=2*3*7*AT9 (7)
- T7683=257*4A9 (7)
- T8937=4A*2657 (7)
- 462T7=53*87A9 (7)
- 269487=3^5*AT9 (9)
- 6T48A=T3*5927 (T)
- J65A84=2^7*9T3 (J)
- 85674=2*3*T9*KA (K)
- T5496=2^3*KA87 (K)
- K8976=2^5*43*TA (K)
- 7A6T4=2^3*895K (K)
- 76T48=2^3*95KA (K)
- 3654A7=K*28T9 (K)
他に10連続+1枚の11枚合成数出しを探したところ
- 68574=2*3*J*T39 (2~J+3)
- 8Q74K=7*J6T59 (4~K+7)
- 859463=J^2*7T3 (2~J+3)
- J56843=Q7*9T9 (3~Q+9)
- 4T5728=2^9*3^6*J (2~J+2)
がありました。
これらの合成数出しを見出すのにnishimura@icqk3さんの素数探索
http://searial.web.fc2.com/tools/somake.html
http://searial.web.fc2.com/tools/sosutansaku.html
およびEvaTecさんの協力を得ました。ここに感謝の意を表します。
その他の合成数出し
上で示した合成数出しは勝負手になりうるものとして紹介いたしました。それ以外の合成数出しについても覚えることは無駄ではありません。ここで合成数出しを覚えるメリットとして次が挙げられます。
- 「詰んでるセット」でも出せる
例えば99QKはそのままではどう並べ替えても素数にならない「詰んでるセット」です。ところがこれをK9Q9と並べるとK9Q9=373^2で合成数出しが狙える形です。
- 確実にそれが「素数」でないといえる
素数をまとめて覚えようと四つ子素数などのまとめて覚えられるセットを探索しているときに、「これが素数だったら全部素数だったのに~」ってことありませんか? 例えば586XはX=A,7,9,Kで素数になりますがX=3だと素数ではありません(5863=11*13*41)。そこで5863の素因数分解を覚えてしまえば、手札に5,8,6とあるときに「586Xって1つだけ素数でないのがあったけどどれだっけ?」となったときにそれが5863であると思い出すための道標になります。もちろん合成数出しとして出せたのなら万々歳です。ちなみに5863の素因数分解の語呂合わせは「小春さんは良いJK」(5863=4A*J*K)です*4。
最後に
この記事には「ふみこさんは愛に生く」という変わったサブタイトルをつけましたが、何か気付かれた方もいらっしゃるでしょうか。今日は12月19日、1219の素因数分解は。つまり「ふみこさんは愛に生く」という語呂合わせで覚えられます!*5
*1:今なんの違和感もなくKを13と読んだ方は素数大富豪中毒者です。たぶん。
*2:「素数」を使って述べられる整数環の特徴、ともいえます。この言い換えは以外の一意分解環上で素数大富豪が可能であることを示唆します。実際、素数大富豪の派生としてガウス素数大富豪(ガウス整数環上の素数大富豪)が存在します。
*3: 重複なしの合成数の全探索が完了しました。(全391個)
AからKまで1枚ずつ用いる13種13枚合成数は存在しませんでした。#素数大富豪https://t.co/U7mckTH4WM
*4:ちょうど1年前に作ったはじめての合成数出しの語呂合わせで私のお気に入り合成数のひとつです。
*5:2353といえば自然対数の底の有名な語呂合わせ「鮒一鉢二鉢一鉢二鉢至極惜しい」(2.718281828459045)に続く4桁です。