浅析 rand7生成rand10 方法 之 思想篇(一)

本文探讨如何使用rand7生成1到10之间的随机数,详细阐述了算法思路,旨在解决仅能获取1-7随机数情况下扩展到1-10的问题。
摘要由CSDN通过智能技术生成

【问题描述】

rand7是一个能生成1-7的随机数。要求利用rand7生成1-10的随机数。

【算法思想】

1.组合数学方法
第1次 1 2 3 4 5 6 7 之中用rand7取一个数
第2次从 2 3 4 5 6 7 8 之中取一个数
第3次从 3 4 5 6 7 8 9 之中取一个数
第4次从 4 5 6 7 8 9 10 之中取一个数
第5次从 5 6 7 8 9 10 1 之中取一个数
第6次从 6 7 8 9 10 1 2 之中取一个数
...
第10次从 10 1 2 3 4 5 6 之中用取一个数
1-10每个数字在上表中都出现了7次,共有70个数字,这样每个数字被命中的概率为1/10。
这里的关键词是"命中".
第11次重新循环,从 1 2 3 4 5 6 7 之中取一个数
第12次从 2 3 4 5 6 7 8 之中取一个数
......
按照这样的方法,1-10每个数
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值