麻将排盘究竟是如何按照怎样的规则进 🕸 行排列的呢
- 作者: 周冠皓
- 发布时间:2025-05-22
1、麻将排盘 🐈 究竟是如何按照怎样的规则进 ☘ 行排列的呢
麻将牌根据 🦋 以下规 🐧 则进 🐠 行排列:
1. 花 🦈 色 🐘 分类 🌺
麻将牌分为三 🌿 门花色 🦉 :万 🦁 子、筒子、条子。每门花色各有九张,从。一到九
2. 字 🐱 牌分类 🐺
除了花色牌外,麻,将牌还包括字牌分为四种:风牌(东西 🐎 南北)、箭牌(中发白)。每种 🐳 风牌。和箭牌各有四张
3. 排列 🌾 顺 🕷 序
麻将牌的排 🐛 列顺序如下:
万子 🐘 : 一万、二 🦟 万、三万 🐞 、...、九万
筒子: 一筒、二 🐟 筒、三 🕊 筒、...、九筒
条子: 一 🐠 条、二条、三条、...、九条 🐋
风牌: 东 🦋 风、南风、西风、北 🌷 风 🌳
箭 🐎 牌 🐛 : 中发白
4. 排列方式 🐠
麻将牌一 🐕 般排 🌴 成如 🌹 下方式:
一字长城字: 牌排成 🌳 一条直线。
二字长城: 两个字牌排成一组 🐼 ,然后依次排列。
万字 🐦 长城万 🐎 : 子牌排成一 🐼 条直线。
混一 🐵 色 🦢 长城: 同一花色牌排成一条直线。
推到 🌻 和: 将所有牌排列成两行,一行排 🐴 列 🕊 17张,另一行排列张16。
2、麻将怎么排列组合 🐅
麻 🌴 将排列组合方 🦍 法
1. 基本规则 🐛
麻将 🌹 共有 144 张,分为 38 种 🐛 。
每 🌷 种麻 🐼 将有 4 张。
一副完 🦁 整 🐶 的麻将由 🐡 136 张组成,包括:
筒子 🦉 (一 🐠 筒到九筒):36 张 🌳
条子(一 🐦 索到九索):36 张 🐳
万子(一 🦢 万到九 🌻 万):36 张
风牌(东 🐒 、南 🐞 、西、北):16 张
三 🐵 元牌(中、发、白 🦆 ):12 张
2. 计 🐒 算排 🦢 列组合
(1)普通 🐠 排列组合 🐺
计算从 n 个不 🌻 同元素中取出个元素 r 的排列或组合数量。
排 🦟 列 🦆 : nPr = n (n1) ... (nr+1)
组 🦟 合 🐦 : nCr = nPr / r!
(2)麻将 🐡 排列组合 🐬
麻将排列组合需要额 🐴 外考虑 相 同元素的情 🐳 况。
排列:总 🌸 数 🌵 :n^r
同种元素:m1^r1 m2^r2 ... mn^rn(mi 为第 🦢 种元素 i 的数量为,ri 排列 🦉 数量)
组合:总 🐦 数 🦄 :C(n, r)
同种元素:C(m1, r1) C(m2, r2) ... C(mn, rn)(C(x, y) 为 🐳 从 x 个元 ☘ 素中取个元 ☘ 素 y 的组合数量)
3. 麻将中的排列 🐼 组合示例
示 🦢 例 1: 取出一副 🌹 完整的麻将,有多少种排列方式?
n = 136,r = 136,因 🐡 此 ☘ :
排列 🦍 :136^136
组 🌷 合 🌷 :C(136, 136) = 1
示例 2: 从一副完整的 🐈 麻将中取出 4 张筒子,有多少种组 🦁 合方 🌳 式?
n = 36,r = 4,因 🕸 此 🌷 :
排 💐 列 🍁 :36P4 = 36 35 34 33 = 1,285,200
组 🦟 合 🌻 :C(36, 4) = 1,285,200 / 24 = 53,550
示例 3: 从一副完整的麻将中取出 3 张风牌(不能有相同的牌有),多少种排列方式 🐘 ?
n = 16,r = 3,m1 = 4,m2 = 4,m3 = 4,r1 = 1,r2 = 1,r3 = 1,因此 🐞 :
排 🍁 列 🐱 :4^1 4^1 4^1 = 64
组 🦈 合 🦈 :C(16, 3) = 560

3、麻将排序 🦉 法 算法
麻 🌵 将排序算 💐 法
目标:将一副麻 🐯 将牌按某种特定规则 🦢 排序 🐱 。
算法:1. 初始化 🌷
创建一个 💮 空列表 `sorted_tiles`。
2. 遍历麻 🐴 将牌 🦆
遍历未 🍀 排序的麻将牌列表 `unsorted_tiles`。
3. 比较 🐶 和插 🦟 入 🦅
将当 🐺 前麻将牌 `tile` 与 `sorted_tiles` 中的每个麻将牌进行比较。
如果 `tile` 比当前麻将牌小,则 `tile` 将插入到该 🦅 位置 🐕 之前。
如果 `tile` 与当前 🕸 麻 🌵 将牌相等,则跳过。
4. 排 🌺 序 🦋 类型 🌿
根据所需的排序类型应 🦍 用特定的比 🦋 较函数。常见的排序类型包括:
数字排序:按麻将牌上的数 🪴 字排序。
花色 🌺 排序:按 🕸 麻将牌的 🐈 花色(筒、索、万排序)。
种类排序:按麻将牌的种 🌷 类(字牌、风牌、三元牌排序)。
代 🌹 码示 🌻 例 🦉 (Python):
python
def sort_tiles(unsorted_tiles, sorting_type):
sorted_tiles = []
for tile in unsorted_tiles:
insert_idx = 0
while insert_idx < len(sorted_tiles) and tile > sorted_tiles[insert_idx]:
insert_idx += 1
sorted_tiles.insert(insert_idx, tile)
return sorted_tiles
用法:
python
unsorted_tiles = ['1s', '2s', '3s', '4m', '5m', '6m', '7p', '8p', '9p']
sorting_type = '数 🕊 '字排序
sorted_tiles = sort_tiles(unsorted_tiles, sorting_type)
print(sorted_tiles) 输 🐳 出 🌳 :['1s', '2s', '3s', '4m', '5m', '6m', '7p', '8p', '9p']
4、麻 🦋 将的排位 🐱 顺序
序 🦉 数牌 🌹 (19)
一筒二筒
三筒
四筒
五筒
六筒
七筒
八筒
九筒
一索
二索
三索
四索
五索
六索
七索
八索
九索
一万
二万
三万
四万
五万
六万
七万
八万
九万
字牌
东风
南风
西风
北风
红中
发财
白板
特别牌
春 🐎 天 🐵 (花 🐦 牌)
梅 🌷 花 🌿 花(牌)
兰花 💮 花 🌹 (牌 🦢 )
菊 🦋 花花 🕷 (牌)
8万 🐵 (绝张)
8筒 🐵 (绝 🐼 张 🐴 )