😊

麻雀でとりうる待ち牌の種類を全部求めてみた

2025/03/29に公開4

はじめに

麻雀でとりうる待ち牌の種類は一体何種類あるのか、という話が出たので求めてみた。

この記事に出てくる用語についてはここの定義を参照されたい。
https://zenn.dev/firedial/books/mahjang-waiting/viewer/definition

求め方

方針

麻雀の牌は大きく分けると、色牌と字牌に分けられる。そこから、色牌は萬子、索子、筒子と3種類、字牌は7種類に分けられる。それら合計10種類で、3種類以上を使った待ちは国士無双13面待ち以外存在しない。
その理由は、違う種類の待ちを持つには待ち送り形の組み合わせにする必要があるためである。

それを踏まえると、以下の場合分けで求めていくことができる。

  • 1種類の字牌の待ち
  • 1種類の色牌の待ち
  • 2種類の字牌の待ち
  • 1種類の字牌の待ちと1種類の色牌の待ち
  • 2種類の色牌の待ち

手牌構成

今回求めるにあたって、色牌の手牌構成を以下の4パターンに分類する。

  • 正規形
  • 非正規形で待ち送り形ではない
  • 非正規形で待ち送り形で、本体に待ちを持たない
    • 架空の雀頭にしか待ちを持たない(例: [22333344])
  • 非正規形で待ち送り形で、本体にも待ちを持つ

上2つは、1種類の色牌の待ちになる。下2つに関しては、待ち送り形を組み合わせると、次の表の通りになる。

本体に待ちを持つ 本体に待ちを持たない
本体に待ちを持つ 2種類の色の待ち 1種類の色牌の待ち
本体に待ちを持たない 1種類の色牌の待ち ノーテン形

そのため、本体に待ちを持つ待ち送り形を1種類の色牌の待ちに含め、2種類の色牌の待ちは本体に待ちを持つ待ち送り形の組み合わせのパターンを数えることになる。

※字牌については、単騎待ちかシャンポン待ちだけで、それぞれ正規形と本体にも待ちを持つ非正規形となる

計算

1種類の字牌の待ち

単騎待ちのみなので 7 通り。
雀頭が字牌で本体に待ちを持たない待ち送り形もこの場合分けに入るが、字牌単騎の待ちと同じになる。

1種類の色牌の待ち

387 通り。それが 3 色分で 1161 通り。

2種類の字牌の待ち

シャンポン待ちのみなので _{7}\mathrm{C}_{2} で 21 通り。

1種類の字牌の待ちと1種類の色牌の待ち

雀頭が字牌、色牌は本体に待ちを持つ待ち送り形となる手牌。
本体に待ちを持つ待ち送り形は 21 通りある。
字牌 7 種と色牌 3 種で、 7 * 3 * 21 = 441 通り。

2種類の色牌の待ち

本体に待ちを持つ待ち送り形の組み合わせになる。
それは 405 通りあり、 3 色から 2 色選ぶパターン数 3 をかけて 1215 通りになる。

結論

上記の組み合わせ数を合計すると 2845 通りになる。
※国士無双13面待ちを含める場合は +1 する

リスト

待ち牌の種類をリスト化してみた。並び順は、以下の3つの条件で並び替えている。

  • 場合分けの順番
    • 1種類の字牌の待ち
    • 1種類の色牌の待ち
    • 2種類の字牌の待ち
    • 1種類の字牌の待ちと1種類の色牌の待ち
    • 2種類の色牌の待ち
  • 待ち牌種類数が少ない順
  • 待ち牌の数字の昇順

記号の読み方

  • az, bz は字牌を表す(az と bz は違う字牌とする)
  • 1x, 1y などの x と y は色牌を表す(x と y は違う色牌とする)
リスト

az
1x
2x
3x
4x
5x
6x
7x
8x
9x
1x2x
1x3x
1x4x
1x5x
1x6x
1x7x
1x8x
1x9x
2x3x
2x4x
2x5x
2x6x
2x7x
2x8x
2x9x
3x4x
3x5x
3x6x
3x7x
3x8x
3x9x
4x5x
4x6x
4x7x
4x8x
4x9x
5x6x
5x7x
5x8x
5x9x
6x7x
6x8x
6x9x
7x8x
7x9x
8x9x
1x2x3x
1x2x4x
1x2x5x
1x2x6x
1x2x7x
1x2x8x
1x3x4x
1x3x5x
1x3x6x
1x3x7x
1x3x9x
1x4x5x
1x4x6x
1x4x7x
1x4x8x
1x4x9x
1x5x6x
1x5x8x
1x6x7x
1x6x9x
1x7x8x
1x7x9x
2x3x4x
2x3x5x
2x3x6x
2x3x7x
2x3x8x
2x3x9x
2x4x5x
2x4x6x
2x4x7x
2x5x6x
2x5x7x
2x5x8x
2x5x9x
2x6x7x
2x6x9x
2x7x8x
2x8x9x
3x4x5x
3x4x6x
3x4x7x
3x4x8x
3x4x9x
3x5x6x
3x5x7x
3x5x8x
3x6x7x
3x6x8x
3x6x9x
3x7x8x
3x7x9x
3x8x9x
4x5x6x
4x5x7x
4x5x8x
4x5x9x
4x6x7x
4x6x8x
4x6x9x
4x7x8x
4x7x9x
4x8x9x
5x6x7x
5x6x8x
5x6x9x
5x7x8x
5x7x9x
5x8x9x
6x7x8x
6x7x9x
6x8x9x
7x8x9x
1x2x3x4x
1x2x3x5x
1x2x3x6x
1x2x3x7x
1x2x3x8x
1x2x3x9x
1x2x4x5x
1x2x4x6x
1x2x4x7x
1x2x4x8x
1x2x5x6x
1x2x5x7x
1x2x5x8x
1x2x6x9x
1x3x4x5x
1x3x4x6x
1x3x4x7x
1x3x4x9x
1x3x5x6x
1x3x5x7x
1x3x5x8x
1x3x6x7x
1x3x6x9x
1x4x5x6x
1x4x5x7x
1x4x5x8x
1x4x6x7x
1x4x6x8x
1x4x6x9x
1x4x7x8x
1x4x7x9x
1x4x8x9x
1x5x6x7x
1x5x7x8x
1x6x7x8x
1x6x7x9x
1x7x8x9x
2x3x4x5x
2x3x4x6x
2x3x4x7x
2x3x4x8x
2x3x4x9x
2x3x5x6x
2x3x5x7x
2x3x5x8x
2x3x5x9x
2x3x6x7x
2x3x6x8x
2x3x6x9x
2x4x5x6x
2x4x5x7x
2x4x5x8x
2x4x6x7x
2x4x6x8x
2x4x6x9x
2x4x7x8x
2x5x6x7x
2x5x6x8x
2x5x6x9x
2x5x7x8x
2x5x7x9x
2x5x8x9x
2x6x7x8x
2x6x8x9x
2x7x8x9x
3x4x5x6x
3x4x5x7x
3x4x5x8x
3x4x5x9x
3x4x6x7x
3x4x6x8x
3x4x6x9x
3x4x7x8x
3x4x7x9x
3x5x6x7x
3x5x6x8x
3x5x6x9x
3x5x7x8x
3x5x7x9x
3x5x8x9x
3x6x7x8x
3x6x7x9x
3x6x8x9x
3x7x8x9x
4x5x6x7x
4x5x6x8x
4x5x6x9x
4x5x7x8x
4x5x7x9x
4x5x8x9x
4x6x7x8x
4x6x7x9x
4x6x8x9x
4x7x8x9x
5x6x7x8x
5x6x7x9x
5x6x8x9x
5x7x8x9x
6x7x8x9x
1x2x3x4x5x
1x2x3x4x6x
1x2x3x4x7x
1x2x3x4x8x
1x2x3x5x6x
1x2x3x5x7x
1x2x3x5x8x
1x2x3x6x7x
1x2x3x6x9x
1x2x4x5x6x
1x2x4x5x7x
1x2x4x5x8x
1x2x4x6x7x
1x2x4x6x8x
1x2x4x7x8x
1x2x5x6x7x
1x2x5x6x8x
1x2x5x7x8x
1x3x4x5x6x
1x3x4x5x7x
1x3x4x5x8x
1x3x4x5x9x
1x3x4x6x7x
1x3x4x6x9x
1x3x4x7x8x
1x3x4x7x9x
1x3x5x6x7x
1x3x5x7x8x
1x3x6x7x9x
1x4x5x6x7x
1x4x5x6x8x
1x4x5x6x9x
1x4x5x7x8x
1x4x6x7x8x
1x4x6x7x9x
1x4x7x8x9x
1x5x6x7x8x
1x5x6x7x9x
2x3x4x5x6x
2x3x4x5x7x
2x3x4x5x8x
2x3x4x5x9x
2x3x4x6x7x
2x3x4x6x8x
2x3x4x6x9x
2x3x4x7x8x
2x3x5x6x7x
2x3x5x6x8x
2x3x5x6x9x
2x3x5x7x8x
2x3x5x7x9x
2x3x5x8x9x
2x3x6x7x8x
2x3x6x7x9x
2x3x6x8x9x
2x4x5x6x7x
2x4x5x6x8x
2x4x5x6x9x
2x4x5x7x8x
2x4x5x8x9x
2x4x6x7x8x
2x4x6x8x9x
2x5x6x7x8x
2x5x6x7x9x
2x5x6x8x9x
2x5x7x8x9x
2x6x7x8x9x
3x4x5x6x7x
3x4x5x6x8x
3x4x5x6x9x
3x4x5x7x8x
3x4x5x7x9x
3x4x5x8x9x
3x4x6x7x8x
3x4x6x7x9x
3x4x6x8x9x
3x4x7x8x9x
3x5x6x7x8x
3x5x6x7x9x
3x5x6x8x9x
3x5x7x8x9x
3x6x7x8x9x
4x5x6x7x8x
4x5x6x7x9x
4x5x6x8x9x
4x5x7x8x9x
4x6x7x8x9x
5x6x7x8x9x
1x2x3x4x5x6x
1x2x3x4x5x7x
1x2x3x4x5x8x
1x2x3x4x6x7x
1x2x3x4x6x9x
1x2x3x4x7x8x
1x2x3x5x6x7x
1x2x3x5x6x8x
1x2x3x5x6x9x
1x2x3x5x7x8x
1x2x4x5x6x7x
1x2x4x5x6x8x
1x2x4x5x6x9x
1x2x4x5x7x8x
1x2x4x5x8x9x
1x2x4x6x7x8x
1x2x5x6x8x9x
1x3x4x5x6x7x
1x3x4x5x6x8x
1x3x4x5x6x9x
1x3x4x5x7x8x
1x3x4x6x7x8x
1x3x4x6x7x9x
1x4x5x6x7x8x
1x4x5x6x7x9x
1x4x5x6x8x9x
1x4x5x7x8x9x
1x4x6x7x8x9x
2x3x4x5x6x7x
2x3x4x5x6x8x
2x3x4x5x6x9x
2x3x4x5x7x8x
2x3x4x6x7x8x
2x3x4x6x7x9x
2x3x4x6x8x9x
2x3x5x6x7x8x
2x3x5x6x7x9x
2x3x5x6x8x9x
2x3x5x7x8x9x
2x3x6x7x8x9x
2x4x5x6x7x8x
2x4x5x6x7x9x
2x4x5x6x8x9x
2x4x5x7x8x9x
2x5x6x7x8x9x
3x4x5x6x7x8x
3x4x5x6x7x9x
3x4x5x6x8x9x
3x4x5x7x8x9x
3x4x6x7x8x9x
3x5x6x7x8x9x
4x5x6x7x8x9x
1x2x3x4x5x6x7x
1x2x3x4x5x6x8x
1x2x3x4x5x7x8x
1x2x3x4x6x7x8x
1x2x3x4x6x7x9x
1x2x3x5x6x7x8x
1x2x3x5x6x7x9x
1x2x3x5x6x8x9x
1x2x3x5x7x8x9x
1x2x4x5x6x7x8x
1x2x4x5x6x8x9x
1x2x4x5x7x8x9x
1x3x4x5x6x7x8x
1x3x4x5x7x8x9x
1x3x4x6x7x8x9x
2x3x4x5x6x7x8x
2x3x4x5x6x7x9x
2x3x4x5x6x8x9x
2x3x4x5x7x8x9x
2x3x4x6x7x8x9x
2x3x5x6x7x8x9x
2x4x5x6x7x8x9x
3x4x5x6x7x8x9x
1x2x3x4x5x6x7x8x
1x2x3x4x5x6x8x9x
1x2x3x4x5x7x8x9x
1x2x3x5x6x7x8x9x
1x2x4x5x6x7x8x9x
2x3x4x5x6x7x8x9x
1x2x3x4x5x6x7x8x9x
azbz
az1x
az2x
az3x
az4x
az5x
az6x
az7x
az8x
az9x
az1x4x
az1x7x
az2x5x
az2x8x
az3x6x
az3x9x
az4x7x
az5x8x
az6x9x
az1x4x7x
az2x5x8x
az3x6x9x
1x1y
1x2y
1x3y
1x4y
1x5y
1x6y
1x7y
1x8y
1x9y
2x2y
2x3y
2x4y
2x5y
2x6y
2x7y
2x8y
2x9y
3x3y
3x4y
3x5y
3x6y
3x7y
3x8y
3x9y
4x4y
4x5y
4x6y
4x7y
4x8y
4x9y
5x5y
5x6y
5x7y
5x8y
5x9y
6x6y
6x7y
6x8y
6x9y
7x7y
7x8y
7x9y
8x8y
8x9y
9x9y
1x2y5y
1x2y8y
1x3y6y
1x3y9y
1x4x1y
1x4x2y
1x4x3y
1x4x4y
1x4x5y
1x4x6y
1x4x7y
1x4x8y
1x4x9y
1x4y7y
1x5y8y
1x6y9y
1x7x1y
1x7x2y
1x7x3y
1x7x4y
1x7x5y
1x7x6y
1x7x7y
1x7x8y
1x7x9y
2x3y6y
2x3y9y
2x4y7y
2x5x2y
2x5x3y
2x5x4y
2x5x5y
2x5x6y
2x5x7y
2x5x8y
2x5x9y
2x5y8y
2x6y9y
2x8x2y
2x8x3y
2x8x4y
2x8x5y
2x8x6y
2x8x7y
2x8x8y
2x8x9y
3x4y7y
3x5y8y
3x6x3y
3x6x4y
3x6x5y
3x6x6y
3x6x7y
3x6x8y
3x6x9y
3x6y9y
3x9x3y
3x9x4y
3x9x5y
3x9x6y
3x9x7y
3x9x8y
3x9x9y
4x5y8y
4x6y9y
4x7x4y
4x7x5y
4x7x6y
4x7x7y
4x7x8y
4x7x9y
5x6y9y
5x8x5y
5x8x6y
5x8x7y
5x8x8y
5x8x9y
6x9x6y
6x9x7y
6x9x8y
6x9x9y
1x2y5y8y
1x3y6y9y
1x4x1y4y
1x4x1y7y
1x4x2y5y
1x4x2y8y
1x4x3y6y
1x4x3y9y
1x4x4y7y
1x4x5y8y
1x4x6y9y
1x4x7x1y
1x4x7x2y
1x4x7x3y
1x4x7x4y
1x4x7x5y
1x4x7x6y
1x4x7x7y
1x4x7x8y
1x4x7x9y
1x7x2y5y
1x7x3y6y
1x7x4y7y
1x7x5y8y
1x7x6y9y
2x3y6y9y
2x5x2y5y
2x5x2y8y
2x5x3y6y
2x5x3y9y
2x5x4y7y
2x5x5y8y
2x5x6y9y
2x5x8x2y
2x5x8x3y
2x5x8x4y
2x5x8x5y
2x5x8x6y
2x5x8x7y
2x5x8x8y
2x5x8x9y
2x8x3y6y
2x8x4y7y
2x8x5y8y
2x8x6y9y
3x6x3y6y
3x6x3y9y
3x6x4y7y
3x6x5y8y
3x6x6y9y
3x6x9x3y
3x6x9x4y
3x6x9x5y
3x6x9x6y
3x6x9x7y
3x6x9x8y
3x6x9x9y
3x9x4y7y
3x9x5y8y
3x9x6y9y
4x7x4y7y
4x7x5y8y
4x7x6y9y
5x8x5y8y
5x8x6y9y
6x9x6y9y
1x4x2y5y8y
1x4x3y6y9y
1x4x7x1y4y
1x4x7x2y5y
1x4x7x3y6y
1x4x7x4y7y
1x4x7x5y8y
1x4x7x6y9y
2x5x3y6y9y
2x5x8x2y5y
2x5x8x3y6y
2x5x8x4y7y
2x5x8x5y8y
2x5x8x6y9y
3x6x9x3y6y
3x6x9x4y7y
3x6x9x5y8y
3x6x9x6y9y

Discussion

firedialfiredial

ここに載っている待ちで、また出現していない待ちのリストも求めてみました。
https://yohkomahjong.s3.ap-northeast-1.amazonaws.com/machi_statistics.html

差分

1s2s3s5s6s7s8s
1m2m4m8m
2m3m4m6m8m
2s3s4s6s8s
2p3p4p6p8p
2s3s5s9s
2p3p5p9p
1s2s3s5s7s8s
1p2p3p5p7p8p
3m7m9m
3s7s9s
2m3m5m7m
2s3s5s7s
2p3p5p7p
1m2m4m7m8m
1s2s3s4s6s7s8s
1p2p3p4p6p7p8p
1m3m7m
1s3s7s
1p3p7p
1m2m4m5m8m9m
1s2s4s5s8s9s
1m3m6m7m
1s3s6s7s
1p3p6p7p
2s3s5s7s8s9s
1m2m5m6m8m
1s2s5s6s8s
1s3s5s6s7s
2m3m5m7m9m
2s3s5s7s9s
3s4s6s8s9s
3p4p6p8p9p
1m3m5m6m
1s3s5s6s
1p3p5p6p
3m5m8m9m
3s5s8s9s
3p5p8p9p
1m2m3m5m7m
2m4m5m8m9m
2s4s5s8s9s
2p4p5p8p9p
3p4p6p8p
2p4p5p6p9p
1p2p5p7p8p
1m3m5m7m8m
1s3s5s7s8s
1p3p5p7p8p
3m4m5m7m9m
2s6s8s9s
2p6p8p9p
2m3m4m6m7m8m9m
2s3s4s6s7s8s9s
2p3p4p6p7p8p9p
3m4m9m
3s4s9s
3p4p9p
1m2m4m6m
1s2s4s6s
1p2p4p6p
2m4m6m7m8m
2s4s6s7s8s
2p4p6p7p8p
1s3s4s9s
1p3p4p9p
2m4m7m8m
2s4s7s8s
2p4p7p8p
1m3m4m5m7m
1s3s4s5s7s
1p3p4p5p7p
2m3m6m8m
2s3s6s8s
2p3p6p8p
1m2m5m7m
1s2s5s7s
4m6m8m9m
4s6s8s9s
4p6p8p9p
3s4s7s9s
3p4p7p9p
2m3m4m5m7m8m9m
2m4m6m8m9m
2p4p6p8p9p
1m6m7m
1s6s7s
1p6p7p
2m3m4m9m
2s3s4s9s
2p3p4p9p
2m7m8m9m
2s7s8s9s
2p7p8p9p
1s2s4s6s7s8s
1m2m3m4m5m6m8m
1s2s3s4s5s6s8s
1m6m7m8m
1p6p7p8p
3m5m7m9m
3s5s7s9s
1s4s6s8s
2s3s6s7s8s
2p3p6p7p8p
2m3m5m8m9m
2s3s5s8s9s
2p3p5p8p9p
3m5m6m7m9m
3s5s6s7s9s
3p5p6p7p9p
4m5m7m9m
4s5s7s9s
4p5p7p9p
1p4p5p7p8p9p
2m4m5m6m7m8m9m
2s4s5s6s7s8s9s
1m2m5m6m7m
1p2p4p6p7p
3m8m9m
3s8s9s
3p8p9p
2m4m6m8m
2s4s6s8s
2p4p6p8p
1m2m5m6m8m9m
1s2s5s6s8s9s
1p2p5p6p8p9p
1m2m7m
1s2s7s
1p2p7p
1m2m3m5m6m9m
1m2m4m6m8m
1s2s4s6s8s
2m5m7m9m
2s5s7s9s
1m5m6m
3s4s5s8s9s
1m3m5m7m
1p3p5p7p
1s2s3s5s7s8s9s
1p2p3p5p7p8p9p
2m3m5m7m8m
2s3s5s7s8s
2p3p5p7p8p
2s4s6s7s
2p4p6p7p
2p4p5p6p8p9p
1m2m3m8m
1s2s3s8s
1p2p3p8p
2s3s4s6s8s9s
3m5m7m8m
3s5s7s8s
3p5p7p8p
1m5m7m8m
3m5m7m8m9m
3s5s7s8s9s
3p5p7p8p9p
2m4m5m6m8m
2s4s5s6s8s
2p4p5p6p8p
2p3p7p
2m5m3s9s
2s5s3m9m
3s9s6m9m
3p9p6s9s
3p9p4s7s
3p9p4m7m
3m9m5p8p
1m4m3p9p
1s4s3p9p
1p4p3m9m
3m6m3s9s
1m7m6s9s
1p7p6s9s
1m4m1s7s
1s4s1p7p
1s4s1m7m
1s7s2m5m
1m4m2p8p
1s4s2p8p
1p4p2m8m
1s7s3p6p
2p8p4m7m
2m8m6p9p
2s8s6m9m
2p8p6m9m
2m5m2s8s
2s5s2p8p
2p5p2m8m
1m7m4s7s

firedialfiredial

↑の中で、どの色でも出ていなくて、左右対称形にしても出ていないリスト。

待ち 手牌
1x2x7x (1, 2, 4, 4, 1, 1, 0, 0, 0),(2, 1, 4, 4, 1, 1, 0, 0, 0)
1x6x7x (0, 1, 1, 4, 4, 1, 2, 0, 0)
1x2x3x8x (0, 1, 2, 4, 4, 1, 1, 0, 0)
1x2x4x6x (0, 1, 4, 1, 4, 0, 3, 0, 0),(0, 2, 4, 3, 4, 0, 0, 0, 0),(2, 2, 4, 1, 4, 0, 0, 0, 0),(3, 1, 4, 1, 4, 0, 0, 0, 0)
1x3x5x6x (0, 4, 3, 4, 2, 0, 0, 0, 0),(1, 4, 3, 4, 1, 0, 0, 0, 0)
2x3x5x7x (0, 0, 1, 4, 1, 4, 0, 3, 0),(0, 0, 2, 4, 3, 4, 0, 0, 0)
2x3x6x8x (0, 0, 1, 2, 4, 2, 4, 0, 0)
2x4x6x8x (0, 0, 1, 1, 4, 3, 4, 0, 0),(0, 0, 4, 3, 4, 1, 1, 0, 0)
1x3x4x5x7x (0, 4, 1, 3, 1, 4, 0, 0, 0),(1, 4, 1, 2, 1, 4, 0, 0, 0)
2x3x4x6x8x (0, 0, 2, 2, 4, 1, 4, 0, 0),(0, 0, 3, 1, 4, 1, 4, 0, 0)
2x3x5x7x8x (0, 0, 1, 4, 3, 4, 1, 0, 0)
2x4x5x6x8x (0, 0, 4, 1, 3, 1, 4, 0, 0)
firedialfiredial

本文の補足。

本体に待ちを持たない待ち送り形を相方にすることで、待ち送り形を 1 種の色牌の待ちとしていたが、本体に待ちを持たない待ち送り形は少なくとも 8 枚の構成になるため、 1 種の色牌の待ちとしてカウントするには 2, 5 枚からなる待ち送り形じゃないと駄目だった。

この記事を執筆する際、その点の考慮漏れで求めてしまったが、改めて 2, 5 枚だけの待ち送り形として求めなおしても結果が同じだったので、記事は修正せずここでコメントだけしておく。

firedialfiredial

国士無双13面待ち、純正九蓮宝燈の次に多い手牌は何かという話題があったので求めてみた。

待ちの枚数が20枚以上になるものをリストアップ。左右反転形は省いている。

種類 枚数
国士無双13面待ち 13 39
純正九蓮宝燈 9 23
1112345666678 8 23
2223456777789 8 23
2223456677778 8 23
2344445666678 7 23
2333345677778 7 23
2223456777 8 22
3334567888 8 22
1112333345678 7 20
2223444456789 7 20
2223444456678 7 20
2333344445678 6 20