470. 用 Rand7() 实现 Rand10()
思路:1、用Rand10()实现Rand7()比较容易(大数实现小数):第一次就命中的p:7/10第二次命中的p:3/10+7/10第三次命中的p:+以此类推:根据等比数列公式得出:2、用Rand7()实现Rand10()(小数实现大数):将小数映射为大数,并且要求在区间[x,y]内得数都能等概率获得(RandX()-1)*X+RandY()可以等概率获得区间[1,X*Y]内的数3、现在只有Rand7(),则第一步:(Rand7()-1)*7+Rand7()得
原创
2022-02-27 14:12:00 ·
364 阅读 ·
0 评论