一个概率问题

前几天看到一个求概率的问题,问题如下:

一道从炉石传说游戏中提出的概率问题?对面有两个目标,一个2点血,一个有30点血,我现在依次发射3枚导弹,每发导弹可造成1点伤害。那么我3发导弹发射完,对面2点血目标死亡的概率是多少。

这个问题当时想了很久,一直确定不了,,自己用程序暴力破解了一下,结果是1/2,程序如下:

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/8

转载于:https://my.oschina.net/u/3851199/blog/1944823

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值