抛硬币无连续正面的概率通用解法咨询(含5次实例)
哈哈,你这个问题我太熟了!枚举小次数没问题,但次数多了肯定得用递推法,完全不用死磕所有情况。我给你一步步拆解清楚:
通用解法:基于递推的斐波那契数列思路
我们先不用直接算概率,先算抛n次硬币从未出现连续正面的合法情况总数,再除以总情况数2ⁿ就是概率。
设f(n)表示抛n次硬币、无连续正面的合法情况数,我们可以通过两种结尾场景推导递推关系:
- 如果第n次抛的是反面(T):那前n-1次只要满足“无连续正面”就行,这种情况的数量就是
f(n-1); - 如果第n次抛的是正面(H):那第n-1次必须是反面(否则就出现连续正面了),所以前n-2次只要满足“无连续正面”,这种情况的数量就是
f(n-2)。
由此得到核心递推公式:
f(n) = f(n-1) + f(n-2)
用你的例子验证公式
我们用你给出的n=5的情况验证一下,确保公式靠谱:
- n=1时,所有情况(H、T)都合法,所以
f(1)=2; - n=2时,合法情况是HT、TH、TT,共3种,所以
f(2)=3; - n=3时,
f(3)=f(2)+f(1)=3+2=5,实际枚举的合法情况是TTT、TTH、THT、HTT、HTH,确实5种; - n=4时,
f(4)=f(3)+f(2)=5+3=8; - n=5时,
f(5)=f(4)+f(3)=8+5=13,正好和你枚举的13/32一致,完全正确!
计算n=20的情况
用递推公式一步步算到n=20:
- f(1)=2
- f(2)=3
- f(3)=5
- f(4)=8
- f(5)=13
- f(6)=21
- f(7)=34
- f(8)=55
- f(9)=89
- f(10)=144
- f(11)=233
- f(12)=377
- f(13)=610
- f(14)=987
- f(15)=1597
- f(16)=2584
- f(17)=4181
- f(18)=6765
- f(19)=10946
- f(20)=17711
总情况数是2^20=1048576,所以概率就是17711/1048576≈0.0169(约1.69%)。
额外补充:递推的本质
其实这个f(n)就是变形的斐波那契数列,常规斐波那契数列定义为F(1)=1, F(2)=1, F(3)=2... 这里的f(n)=F(n+2),比如f(1)=2=F(3),f(2)=3=F(4),对应关系完全吻合。如果n特别大(比如几百次),也可以用斐波那契数列的通项公式直接计算,不过对于n≤100的情况,递推计算更简单直观。
内容的提问来源于stack exchange,提问作者Stuy




