gpt4 book ai didi

C随机数生成器

转载 作者:行者123 更新时间:2023-11-30 20:07:32 24 4
gpt4 key购买 nike

我编写了以下代码来用 C 语言生成随机数。

int main (int argc, char *argv[])
{
unsigned int iseed = (unsigned int)time(NULL);
srand (iseed);

/* Generate random number*/
int i;
for (i = 0; i < 1; i++)
{
printf ("Random[%d]= %u\n", i, rand ());
}
return 0;
}

输出给了我一个 10 位随机数,如何更改输出中打印的位数?

最佳答案

rand()给你一个 0 到 RAND_MAX 之间的数字,这可能是一个很大的数字。

如果你想获得[0, N)范围内的统一样本,您需要将范围划分为多个区域:

int my_max = (RAND_MAX / N) * N;

int result;

while ((result = rand()) >= my_max) { } // #1

return result % N;

上线情况#1应该很少会遇到,但如果结果不在 N 的倍数范围内,我们需要重新滚动。以避免对高结果产生偏见。

关于C随机数生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12400320/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com