利用随机数生成器生成固定概率生成器

这篇博客探讨如何利用一个能产生0或1且概率分别为p和1-p的随机数生成器,来创建一个新的生成器,使得它能以1/n的概率产生n个独立事件。通过N重伯努利试验的原理,选取其中概率相等的部分作为结果,实现概率为1/n的事件生成。在编程实践中,可以通过循环生成n位数,根据设定条件筛选有效的事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个有趣的题目:假设现有一随机数生成器可以产生一个一位数:0 or 1, 产生 0 的概率为 p p p, 产生1的概率为 1 − p 1-p 1p ,试调用此随机数生成器,写出一个新随机数生成器产生概率为 1 / n 1/n 1/n的n个事件。

此题可从概率论的角度思考,每次试验(即随机数生成器产生一个数)产生事件0的概率为 p p p, 产生事件1的概率为 1 − p 1-p 1p, 因为试验本身是相互独立的,故可以采用N重伯努利概型:
C n 0 p n + C n 1 p n −

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值