0

在 c++ 中生成非常接近 pow(2, 64)-1 的大随机数。

解释这个问题,假设我们应该生成 n 个随机数,其中大部分都很大,并将它们存储在一个数组中。

4

1 回答 1

0

这个问题确实需要更多澄清。什么是“近在咫尺”?您是要生成加权随机值还是 (2^64)-1 最大值?

为了提供答案,我假设后者并且您的随机值始终为正:

可以使用标准库生成:
如何生成 64 位随机数?

您需要使用 uint64_t 或类似方法来存储数字。任何较小的数据都可能溢出 int 界限。
https://en.wikipedia.org/wiki/Integer_overflow

于 2016-05-19T14:31:54.683 回答