一个经典的随机数的问题。求教。# JobHunting - 待字闺中
H*7
1 楼
在别的论坛看到别人再问。觉得不太明白。
Expand a random range from 1-5 to 1-7
int i;
do
{
i = 5 * (rand5() - 1) + rand5(); // i is now uniformly random between 1
and 25
} while(i > 21);
// i is now uniformly random between 1 and 21
return i % 7 + 1; // result is now uniformly random between 1 and 7
WHy can't I just put
i = 6*(rand5()-1);
Expand a random range from 1-5 to 1-7
int i;
do
{
i = 5 * (rand5() - 1) + rand5(); // i is now uniformly random between 1
and 25
} while(i > 21);
// i is now uniformly random between 1 and 21
return i % 7 + 1; // result is now uniformly random between 1 and 7
WHy can't I just put
i = 6*(rand5()-1);