如何在给定范围内生成一个奇数随机数?
例如:在1到6的范围内,随机数可以是3、1或5。
生成随机数的方法:
Random_No = Min + (int)(Math.Random()*((Max-Min)+1))
生成奇数随机数的方法:
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,有时将2转换为1?
(6-1)/2
)的数字,然后将结果加倍再增加。很容易将其推广到以任何数字开头的范围。 - BlueRaja - Danny Pflughoeft