今天想到一个情况,从 30 张一套的套牌中,随机打乱顺序后,抽取最上面的 3 张牌,问抽到恰好一张 A 牌和恰好一张 B 牌的概率是多少。
限制条件:每张不同的牌假设最多放两张(并且这两张几乎不可分辨,即分辨难度极高),且套牌中 A 牌和 B 牌确实各自放了两张。
这道题我问了通义千问和 Gemini,两者都没有给出正确的回答。
通义千问给了正确的公式,但是最后的数值计算错误。
Gemini 给出的组合数就是错的。
以下是我的计算:
大约是2.56%
百万次抽样统计代码验证(非A、B的牌都视为一样,只是视为,实际是有可能不一样的,只是为了方便计算):
# prompt: 从30张牌中抽取3张,其中A和B在原始构筑中各有两张,输出结果中含有A和B各一张(精确值1张)的概率
import random
def calculate_probability(num_trials=1000000):
"""
Calculates the probability of drawing exactly one A and exactly one B
from a deck of 30 cards with 2 As and 2 Bs.
"""
num_successes = 0
for _ in range(num_trials):
deck = [0] * 26 + [1] * 2 + [2] * 2 # 0: other cards, 1: A, 2: B
hand = random.sample(deck, 3) # 无放回抽样,有放回请使用choice
num_A = hand.count(1)
num_B = hand.count(2)
if num_A == 1 and num_B == 1:
num_successes += 1
return num_successes / num_trials
probability = calculate_probability()
print(f"The probability of drawing exactly one A and exactly one B is approximately {probability}")
0.025724
如果有错误和逻辑不严谨,表述不清楚的地方请一定要告诉我。
参考资料(排列组合公式):
426

被折叠的 条评论
为什么被折叠?



