作业帮 > 综合 > 作业

C语言中求随机数的问题

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/21 12:52:11
C语言中求随机数的问题
产生一个0-n的随机数
(n*rand()/(RAND_MAX+1.0))
rand函数生成一个随机数 但是除以最大值加1 怎么会生成一个0-n的随机数呢?
不用这么麻烦啊~. rand()生成的是0~RAND_MAX的伪随机数, 而0~n-1的伪随机数则是用mod, 即:
v1 = rand() % 100; /* v1 在0~99之间 */
v2 = rand() % 100+1; /* v1 在1~100之间 */
因此0~n之间的伪随机数:
v3 = rand() % (n+1);