rand5产生rand7

以下的randN代表随机产生0~N的数,每个数出现的概率相等。

从rand7产生rand5比较简单,当rand7得到6或者7时再次运行rand7,直到小于6时输出。

但是从rand5产生rand7就没有这么方便了。

可以考虑rand5产生更大的rand。

考虑另一个问题,如果有个rand9的程序,要随机产生0~999的数,这时思路很清晰,先rand百位,然后rand十位,然后rand个位。这样得到得数的概率都相同。

此时就可以联想到rand5产生一个6进制的2位数,即rand5 * 6 + rand5,得到rand35,然后就容易得到rand7了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值