7枚出し切り札カウンティング

この記事は、素数大富豪 Advent Calendar 2024の7日目の記事です。

素数大富豪 Advent Calendar 2024 - Adventar

 

25時に出していますがたぶんセーフ。大変お待たせしました。

 

こんにちは、さしみです。今回は、私がよく使う7枚出しの、切り札について解説します。7枚の強い素数と言えばKKKQQQJが有名ですが、実は持っている手札によって様々な素数が切り札になり得ます。それらを上手く活用し、絵札を効率的に使う術を身につけていただければと思います。

 

 

7枚出しの概要

先に、7枚出し自体がどのような場面で使われるのか解説しておきます。7枚出しは主に、全出し後に24枚以上になった手札から少ない手数で勝ち切るために使われます。例えば、24枚の手札から7→7→7と出せば残りは3枚になりますし、4782969=3^6×3^8のような合成数を併用すればラリーせずに残りを6枚以下に減らせます。

 

このように、7枚出しは全出し後の手札枚数の観点から、組み切りのしやすさと隙の少なさのバランスが取れていることが魅力です。この記事のメインテーマに繋がりますが、切り札の形とその関係も最初の数パターンが非常に分かりやすく、24枚の組み切りを始めたての人にもおすすめできます。

 

そんな7枚出しについてですが、もちろん多くの先行研究があります。私が以前書いた7枚出しの素数表と戦略をまとめた記事のほか、3TKさんの記事を紹介させていただきます。

greenplus.hatenablog.com

(こっちは同じ12/7の7枚出しでも間に合ってるのに……)

hana3101382283.hatenablog.com

hana3101382283.hatenablog.com

 

カウンティング

それでは本題に入ります。皆さんは切り札の強弱を考えたことはあるでしょうか。素数大富豪の公式ルールではKとX(ジョーカー)は合わせて6枚であるため、自分がそのうち4枚を持っていれば相手が使えるのは多くても2枚です。すると、KKKKTJのような素数は、自分が持っている時点で出せば絶対に返されないことが分かります。

 

このような考え方をここでは「カウンティング」と呼び、取り上げていきます。素数大富豪におけるカウンティングという言葉は、自他の絵札枚数の把握や、数札が重要なoverKJQJについての議論で主に使われてきました。しかし、以下のmickeyさんの記事では、n枚2n桁の切り札についても同様の呼び方がなされていて、それにならう形になります。

mickey57.hatenablog.com

 

以降では、自分に7枚出しの切り札が存在するパターンのうち、最も重要な3つについて取り上げ、それぞれの場合でどの素数が必ず通るのかを解説します。また、相手の最大火力にも注目し、カウンティングのポイントを示すことで、絶対に覚えるべき素数を読者に印象付けることも目指します。

 

①KX勝ち(KKKKQTJなど)

まずは、最も重要な、Kの枚数で勝っている場合についてです。もしKとXを合わせて4枚持っている場合、中枚までの幅広い枚数で相手より大きい素数を出すことができますが、ここではもちろん7枚出しに焦点を当てます。

 

最初に思いつくのはしばしば7枚出し最強とされるKKKKQTJ(脚注:実は誰も出しませんがKKKKKJKの方が大きいです)で、これは確かに必ず切り札となります。しかし、Kを4枚使うのは少々オーバーキルで、特にKKKXの組み合わせの場合は貴重なXを使うことになり組み切りの幅が狭まります。

 

そこで、相手がKを2枚しか使えないことを利用し、より小さい素数を切り札とできるのがカウンティングの効果です。それにより、QとTのうち片方しか持っていなくても切り札を出せたり、残す札を都合の良いものにできたりします。

 

以下に、KとXを4枚持っていれば必ず通る素数のうち、私が重要だと思ったものを示します。以降、下線が引かれているものはそれぞれの節のメインテーマとなる素数です。

 

KKKKQTJ

KKKQQQJ

KKKQQJJ

(KKKQQTK)

KKKJJJJ

KKKJTQJ

KKKTTTJ

KKQQJJJ

KKQJQTJ

 

後に大きく取り上げるKKKQQQJとKKKQQJJ、それからKKKJJJJを除いた、それぞれの素数の重要性について解説します。ここでは、KKKJTQJやKKKTTTJがKX4枚のときに通ることがもっとも重要で、これはぜひ覚えていただきたいです。

 

相手の最大火力(出せるもっとも強い素数)はKKQQJJJやKKQJQTJとなることが多く、こちらも頻出です。ただし、それらを相手に出されない条件では、より小さい素数が切り札となることもあります。

 

また、比較的上級者向けの内容になりますが、KKKQQTKは余裕があれば覚えておくべきです。理由は、絵札をKKKXQQTTと持っていた場合に、これを知らないだけでKKQQJJJやKKQJQTJを通されてしまうことがあるからです。同様のケースはいくつかありますが、この場合だけはXがあっても負けてしまいます。怖いですね。

 

QJ勝ち(KKKQQJJなど)

次に、Kの枚数では互角だがQやJを相手より多く持っているために切り札が発生する場合についてです。この現象は7~8枚で見られるもので、特有のカウンティングを成立させています。

 

と言っても分かりづらいので、少し掘り下げてみます。まずは手札が完全に均等な場合を考えてみましょう。このとき、双方の絵札はKKXQQJJTTとなるはずです。すると、最大の素数を考える上ではXはKとしたいため、Kは3枚、QJTは各2枚が使えることになります。

 

このとき作れる最大の7枚出し素数がKKKQQJJで、その並びには全く無駄がありません。それゆえに、Kの枚数が互角のとき、Qを相手より多く持っていれば、あるいはQの枚数まで互角でもJを相手より多く持っていれば相手より大きな数を作れることが確定してしまうのが7枚14桁の面白さです。

 

以下に、KとXが3枚で、KKKQQQまたはKKKQQJJJを持っていれば必ず通る素数を示します。

 

KKKQQQJ

KKKQQJJ

KKKJJJJ

KKKJTQJ

 

実はこの条件で通せる素数は多くありません。とはいえ、上2つの素数はとても重要なので、この節で説明を尽くすことにします。

 

まずはKKKQQQJについて、これは持っているだけで切り札になることが確定する素数です。平均よりは運が良くないと全出し後にも揃いませんが、絵札が他に全くなくても合成数を使えば簡単に組み切れる可能性があり、これは7枚出しの大きな強みと言えるでしょう。

 

一方で、このようにQを3枚以上持っている条件では、同様の原理によって6枚出しのKKKQQJや8枚出しのKKKQJTQJ、KKKQTQTJも自分だけが出せることになります。状況や覚えている素数によって、効果的に使い分けられるとベストでしょう。

 

次のKKKQQJJは少々特殊で、絵札が互角のときに出せると述べた通り、自分も相手も出せるという状況があり得ます。もちろん出してしまえば絶対に返されないのですが、合成数→KKKQQJJ→3枚のような組み切りをした場合、相手に先に出されると困ることがあります。「KKKQQQまたはKKKQQJJJ」という少々複雑な条件は、QまたはJを1枚余計に持っていれば相手に出されることもないということを表すためのものだったわけです。

 

Jが3枚の条件についてはKKKQJTQJが切り札になる一方、KKKQQJは相手に出されうるので注意しましょう。

 

ちなみに、KKKQQQJJのように持っていればKKKQQQJとKKKQQJJのどちらも切り札として使えます。上手く組み切りに活用できると良いですね。

 

相手の最大火力はKKKJTQJかKKKTTTJであることが多いです。KKKQQJJJと持っている条件では相手にKKKJTQJが揃わないため、こちらが一方的に切り札にすることができます。残したい絵札によっては活用できるかもしれません。

 

③奇数絵札勝ち(KKKJJJJなど)

最後に、奇数絵札を多く持っている場合に発生する切り札について解説します。これまでの内容と異なり、絵札を強い方から比較するだけでは導けないためか、あまり知られていない話が多いです。しかし、その分奥が深く、個人的にはここが一番カウンティングらしくて面白いと思っています。

 

ここでは、奇数絵札をKXJの3種類と定義します。すると、奇数絵札は全部で10枚あることになりますが、ここではそのうちの7枚を自分が持っている場合について考えます。なお、奇数絵札8枚以上では同様の議論に加え、KX4枚の条件も満たせることになります。

 

では、奇数絵札7枚以上がなぜ強いのでしょうか。それは、相手が作れる素数の形が大きく制限されるためです。全部で10枚しかない奇数絵札は、こちらが7枚取っていれば相手は最大でも3枚しか持っていないことになります。そして、(2と5以外の)素数は(素数富豪的)奇数で終わる必要があるため、1枚は末尾につくことになります。すると、相手はどう頑張ってもKKKで始まる素数を作ることができないのです。

 

相手にとってはより不運なことに、KK始まりでも末尾以外にJやKを使わない素数で最大のものは、KKTQQQJとかなり小さくなります。これが、下で紹介する一見驚くようなカウンティングを成立させています。

 

それでは、実際に、KKKJJJJを出せるなら絶対に通る素数と、そのときの相手の最大火力の候補を見ていきましょう。

 

KKKJJJJ

KKQQJJJ

KKJJQJJ

KKJTJTJ

 

KKTQQQJ

KKTQQTK

KKTTTQJ

 

なお、奇数絵札7枚を「KKKJJJJが出せる」と言い換えていますがこれはほとんどの場合に同じことを指し、便利な判定方法になります。例外はXがなくKKKKJJJと持っている場合ですが、ここでは掘り下げませんが、KKJJKJJが切り札になります。

 

さて、今回は逆に相手の最大火力から見ていきましょう。奇数絵札がKKXのときに出せる素数は、上からKKTQQQJ、KKTQQTK、KKTTTQJとなります。どれも、今回の相手側の立場になったときや奇数絵札を温存したいときなど、使う場面の多い素数ではあるため、余力があれば覚えておくと良いでしょう。

 

そして、奇数絵札が多い側に戻ると、それらを超える素数は全て通ります。KKKJJJJだけではありません。もしKKXJJJJと持っていてQがあればKKJJQJJ、TがあればKKJTJTJと、Xを温存しつつ切り札を出すことができるのです。必要であればKKQQJJJや、KKKJTQJといったより大きな素数ももちろん切り札になります。

 

このように、比較的小さな素数が手札の偏りによって切り札になるというのは面白いですし、Xを温存できる場合があって実用性も高いと思っています。なお、6枚出しや8枚出しでも類似のことは言えます(5枚出しでも相手はKKQKJを出せません)。興味があれば考えてみてください。

 

オバケ

ところで、ここまで合成数のことは考えていませんでした。実は、厳密には、KX4枚時のKKQJQTJや奇数絵札7枚時のKKKJJJJ以下の素数合成数によって返される可能性があります。ここでは、7枚出しにおけるそのような合成数をoverKJQJと同じように「オバケ」と呼ぶことにします。

 

より詳しくは「相手が出す素数だけでなく手札全体から総合的に素数では返せないと判断できる素数について、それに返すことができる合成数」とでもしておきます。KX4枚からのKKQTJに対するKKQQJみたいなイメージでしょうか。

 

ではなぜそのようなオバケを紹介していなかったのでしょうか。揃わないからです。実戦で見たことはおろか、使えそうな場面に遭遇したことすらないからです。

 

ですが、ギリギリ実用性がなくはないものもいくつかあります。そのため、7枚出し切り札のカウンティングがもっと使われるようになっていけば、いずれ誰かが出してくれるかもしれない、と信じてここで紹介しておきます。

 

KKKQTTT=2×3^4×5×16211496421

KKKQQQT=2×5×19×144773×477383

KKKQQTT=2×5×131313QQT1

 

KKQKQTT=2*5*419*313394T79

KKQQKQT=2*5*179*7335872699

KKQQQKQ=2^5*3*23*5947T6939

KKQQJTQ=2^2*31*T5896871863

KKQQTJT=2*3^3*5*97*T9*4599841 ▵

KKQQTTT=2*5*71*9467*1953593 ☆

KKQJTTT=2*5*T247*Q8146883

KKQTQKQ=2^5*347*28789*4T77 ▵

KKQTQQK=193*4787*142Q943

KKQTQTT=2*5*27197*48281833 ☆

KKQTJQT=2*3^3*5*8543*5692861

KKQTTQJ=3^2*37*83*3671*Q9419 ▵

KKQTTTT=2*3*5*7741*56543987 ☆

KKJQQQT=2*5*T7*45863*267581

KKJQTTT=2*5*Q79*14951*68669

 

KKQQJTJ=739*16369*T85521 ◎

KKQQTJJ=13*47*56687*379123

 

と思ったんですがなんかちゃんと探したら結構大量にありました。マジ?

 

探索方法としては、Pythonを使ってKK始まりの7枚14桁全てを素因数分解し、絵札と数札が適するものを出力した後で厳選しました。絵札を分解していれば、あるいは逆にしていなければ出せたものを弾いてしまっている可能性があるのと、深夜に目視で厳選、書き写したのでミスがある可能性があります。ご利用はお手持ちのアプリで検証した上でお願いします。

 

上からoverKKKJJJJ、それ以外のoverKKJTJTJ、それ以外のoverKKQJQTJとなっています。overKKKJJJJについては出せるもの全て、他は4枚被り1種または3枚被り2種以内を載せる基準としています。▵は4枚被りあり、◎は3枚以上被りなし、☆は奇数絵札2枚です。

 

ちゃんと検証していませんが、相手が手札20枚から7枚出ししてきたところにカマトトするくらいだと結構揃いそうです。9枚出しオバケとかとかだと全然無理そうなのですごいですね。

 

覚えるならロマンがありこちらからでも切り札にできるoverKKKJJJJと、KKXを持っているときにXを数札に使える☆の素数がおすすめです。私はKKKQQQTとKKKQQTTしか覚えてないけど。

 

おわりに

以上、7枚出し切り札カウンティングについての解説でした。自分の中ではかなり面白い話で、5月くらいから温めていたものなので、この機会に公開できて嬉しく思っています。なんだかんだで上級者にもしっかり役に立つ記事は久しぶりかもしれないですね。

 

それから、実はオバケを探したのは最近、8枚出しや9枚出しのオバケに合わせてでした。切り札になる素数が小さいこともあって想定より大量に見つかり、書いた私が一番驚いています。使われるのかなあ。

 

それでは、最後までお読みいただきありがとうございました!

 

明日(誰が何と言おうと明日)は、はちさんによる「はち杯開催報告」です。まだ一度も優勝できていませんが、はち杯はいつも楽しく参加させてもらっています。記事も楽しみですね。

待っていただいていたのかすぐ出ました↓

hachi-2718.hatenablog.com