我们先来看这样一个问题, 已知rand5能等概率产生1, 2, 3, 4, 5, 现要用rand5来实现rand7(rand7的意思是要等概率产生1, 2, 3, 4, 5, 6, 7), 该怎么搞呢...我们看看rand5 + rand5 行不行。 ...假设现在又有另外一个fun函数, 能等概率随机生成0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 那么, 我们不就很轻易地构造了等概率的10, 11, 12, 13, ....., 59么?...()
{
return myRandom(5);
}
// 仅由rand5来构造rand7
int rand7()
{
while(1)
{
// 构造等概率的0, 1, 2, 3, 4, ...原文:http://blog.csdn.net/stpeace/article/details/46672035
其实上面的rand(7)也可以用来生成rand(3),下面是我修改的代码
int rand31