gpt4 book ai didi

C++ 随机数

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:25:01 28 4
gpt4 key购买 nike

在以下位置:http://www.fredosaurus.com/notes-cpp/misc/random.html

它提到如果我们想生成一个1-10范围内的随机数,我们可以这样做:

r = (rand() % 10) + 1;

为什么要加 1?你能解释一下这个过程是如何运作的吗?

并且,关于初始化随机数生成器,它提到执行以下操作:

srand(time(0));

你能解释一下这个过程吗?而且,如果我们根本不初始化会怎样?

谢谢。

最佳答案

你加 1,因为你想要随机数 1-10,而不是 0-9,什么会 %没有+1 .

例如,10 % 10 == 09 % 10 == 9 ,所以这给你 0-9。
添加+1会将此间隔“移动”到 1-10-> 10 % 10 + 1 == 19 % 10 + 1 == 10


编辑:抱歉,忘了你srand题。 rand()生成相同的数字序列,除非您调用 srand并在调用 rand() 之前“播种”具有不同值的随机数生成器.所以,这里 time(0)使用当前时间为随机数生成器播种,它始终为您提供不同的值,您调用 rand()

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

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