一個機率問題

前幾天看到一個求機率的問題,問題以下:python

一道從爐石傳說遊戲中提出的機率問題?對面有兩個目標,一個2點血,一個有30點血,我如今依次發射3枚導彈,每發導彈可形成1點傷害。那麼我3發導彈發射完,對面2點血目標死亡的機率是多少。dom

這個問題當時想了好久,一直肯定不了,,本身用程序暴力破解了一下,結果是1/2,程序以下:code

import random
n = 100000000  # 總共進行n次試驗
m = 0   # a死亡的次數
for i in range(1,n+1):
    a = 2  # a的血量
    b = 30  # b的血量
    for j in [1,2,3]:  # 發射3顆子彈
        if random.random()>0.5:  # 子彈命中a的機率都是0.5
            a -= 1
        if a == 0 :  # a 死亡
            m += 1
            break

    if i%100000==0:
        print('事件次數:',i,'a死亡次數:',m,'機率:',m/i)

這個問題當時想了好久,一直肯定不了,,本身用程序暴力破解了一下,結果是1/2,程序以下: image.png遊戲

後來本身用二叉樹畫了一下,結果確實是1/2:事件

image.png

同時能夠看出來,一點血都沒掉的機率是1/8,捱了一槍的機率是3/8class

相關文章
相關標籤/搜索