嗨 可以使用 rand() 在 (-x,x) 范围内生成随机数吗?如果不是,我如何生成该范围内的随机数?
最佳答案
// return a random number between 0 and limit inclusive.
int rand_lim(int limit) {
int divisor = RAND_MAX/(limit+1);
int retval;
do {
retval = rand() / divisor;
} while (retval > limit);
return retval;
}
// Return a random number between lower and upper inclusive.
int rand_lim(int lower, int upper) {
int range = abs(upper-lower);
return rand_lim(range) + lower;
}
像往常一样,我在这个帖子中看到的所有其他人都可以/将会产生至少略有偏差的结果。
关于c++ - 如何生成范围内的随机数 (-x,x),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5129093/