使用C语言:
答案 0 :(得分:1)
这是一个 伪 随机整数生成器,但只测试了正数,你必须修改它才能使用底片:
int randomGenerator(int min, int max)
{
int random=0, trying=0;
trying = 1;
srand(clock());
while(trying)
{
random = (rand()/32767.0)*(max+1);
(random >= min) ? (trying = 0) : (trying = 1);
}
return random;
}
编辑 (由于srand()
没有足够的更新,最后一种方法没有产生随机数据)
对于范围 跨越正数和负数,您可以修改它:(但pos与neg的比率相同)
int randomGenerator(int min, int max)
{
int random=0, trying=0;
int i=0;
trying = 1;
srand(clock());
while(trying)
{
random = (rand()/32767.0)*(max+1);
(random >= min) ? (trying = 0) : (trying = 1);
}
return (i++%2==0)?(random):(-1*random);
}