生成指定范围内的随机唯一BigIntegers?

时间:2016-10-29 03:05:17

标签: java biginteger

我是使用BigInteger的新手,所以我正在通过文档尽力阅读。不过我还是很困惑。我需要在2 ^ 70到2 ^ 80的范围内生成500个随机整数,我不知道如何为BigIntegers设置范围。

我收到了可能重复的消息,所以我想我应该补充一点,我已经查看了这个解决方案,但仍然不了解如何解决我的问题:{{ 3}}

1 个答案:

答案 0 :(得分:1)

在0到2 ^ n - 1之间有一个built-in method to generate a random BigInteger

您可以在循环中使用它来生成最多2 ^ 80的数字。

数字低于2 ^ 70的可能性非常小(约0.1%)。如果发生这种情况(并且可能很好地进行500次迭代),只需绘制另一次。

这将为您提供2 ^ 70和2 ^ 80之间随机数的均匀分布。

数字重复的几率几乎不存在。如果您认为不能忽略,请检查以前的数字是否有重复,然后重新绘制。