在指定范围内生成随机唯一的 BigIntegers?
Generating random unique BigIntegers within a specified range?
我是 BigInteger 的新手,所以我正在尽最大努力阅读它的文档。但是我仍然很困惑。我需要在 2^70 和 2^80 之间生成 500 个随机整数,但我不知道如何为 BigIntegers 设置范围。
我收到了可能重复的消息,所以我想我应该补充一点,我已经看过这个中的解决方案,但仍然不明白如何解决我的问题:How to generate a random BigInteger value in Java?
在 0 和 2^n - 1 之间有一个 built-in method to generate a random BigInteger。
您可以在循环中使用它来生成最多 2^80 的数字。
数字低于 2^70 的可能性非常小 (~ 0.1%)。如果发生这种情况(并且有 500 次迭代可能会很好),再画一个。
这将为您提供 2^70 和 2^80 之间的随机数均匀分布。
数字重复的可能性几乎不存在。如果您觉得不能忽略,请检查您之前的数字是否重复,然后重新绘制。
我是 BigInteger 的新手,所以我正在尽最大努力阅读它的文档。但是我仍然很困惑。我需要在 2^70 和 2^80 之间生成 500 个随机整数,但我不知道如何为 BigIntegers 设置范围。
我收到了可能重复的消息,所以我想我应该补充一点,我已经看过这个中的解决方案,但仍然不明白如何解决我的问题:How to generate a random BigInteger value in Java?
在 0 和 2^n - 1 之间有一个 built-in method to generate a random BigInteger。
您可以在循环中使用它来生成最多 2^80 的数字。
数字低于 2^70 的可能性非常小 (~ 0.1%)。如果发生这种情况(并且有 500 次迭代可能会很好),再画一个。
这将为您提供 2^70 和 2^80 之间的随机数均匀分布。
数字重复的可能性几乎不存在。如果您觉得不能忽略,请检查您之前的数字是否重复,然后重新绘制。