如何生成给定范围内的奇数随机数..
例如:对于 1 到 6 之间的范围..
随机数为 3 或 1 或 5
生成随机数的方法:
Random_No = Min + (int)(Math.Random()*((Max-Min)+1))
Refer 如何在Java中生成特定范围内的随机整数?
生成奇数随机数的方法:
Random_No = Min + (int)(Math.Random()*((Max-Min)+1))
if(Random_No%2 ==0)
{
if((Max%2)==0)&&Random_No==Max)
{
Random_No = Random_No - 1;
}
else{
Random_No = Random_No +1;
}
}
该函数总是将 2 转换为 3 而不是 1
我们可以让它成为一个更随机的函数,可以将 2 有时转换为 3,有时转换为 1 吗?
假设 max 包含在内,我建议如下:
if (Max % 2 == 0) --Max;
if (Min % 2 == 0) ++Min;
Random_No = Min + 2*(int)(Math.random()*((Max-Min)/2+1));
它导致所有奇数之间均匀分布。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)