以后不会正解就用这东西。
随机函数
说一个单独的数是「随机数」是无意义的,所以以下我们都默认讨论「随机数列」,即使提到「随机数」,指的也是「随机数列中的一个元素」。
现有的计算机的运算过程都是确定性的,因此,仅凭借算法来生成真正不可预测、不可重复的随机数列是不可能的。
实现
rand
函数可以实现一个伪随机数,头文件cstdlib
。其会返回一个在区间 \([0,\)MAX
\(]\) 的伪随机数,其中MAX
是标准库的一个宏,在Linux操作系统下默认为 \(2^{31}-1\)。
rand
需要一个随机数种子,可以用srand(seed)
来实现,其中seed
是种子。
同一程序使用相同的seed
两次运行,在同一机器、同一编译器下,随机出的结果将会是相同的。
有一个选择是使用当前系统时间来作为随机种子:srand(time(nullptr))
。