rand5()生成rand7()
来源:互联网 发布:手机淘宝评价中心在哪 编辑:程序博客网 时间:2024/05/04 10:52
思想:一定是等概率的,不然实现都是有问题的
首先:rnad7()->rand5()这个好实现
int rand5()
{
int res=8;
while(res>7)
{
res=rand7();
}
return res;
}
由此我们需要将rand5()生成一个更大的rand()
这里有个小技巧:(rand5()-1)*5
等概率的生成0,5,10,20
(rand5()+1)*5+rand5()
等概率的生成1,2,3,4,5…25
while(res>7)
{
res=(rand5()+1)*5+rand5()
}
由于生成大量的8-25 改进一下
while(res>21)
{
res=(rand5()+1)*5+rand5()
}
return res%7+1;
阅读全文
0 0
- rand5()生成rand7()
- 两个rand5生成rand7
- 使用rand5()生成rand7()
- rand5()生成rand7()
- rand5()生成rand7()
- rand5 rand7
- 面试时遇到由rand5生成rand7
- 给定一个rand5的随机数,生成rand7的随机数
- 利用rand5构造rand7
- rand5()构造rand7()
- rand5()构造rand7()
- 给定RAND5,写出RAND7
- rand5产生rand7
- 算法--rand5()产生rand7()
- rand5()产生rand7()
- Rand5() to Rand7()
- rand5()产生rand7() 方法总结
- Moderate rand5()产生rand7() @CareerCup
- 简单的数据备份与恢复
- flash真的会被淘汰掉吗?
- VS 2013各版本的激活码
- 清除浮动方法总结
- 【爬虫学习2】Requests cookies爬取知乎个人timeline
- rand5()生成rand7()
- spring batch + spring boot 配置
- java 1054. 求平均值
- AJAX入门
- 在ubuntu中使用virtualenv创建python2和python3的虚拟环境
- 干货:完全基于情感词典的文本情感分析
- 马云上市后发声?对首富没感觉,钱是用来做事
- 【huffman】bzoj4198:【UOJ#130】 [Noi2015]荷马史诗
- Python3的builtwith模块修改