【发布时间】:2019-04-14 01:12:51
【问题描述】:
BigInteger 的 JavaDoc 让我感觉很不安全,例如下面的构造函数说:
BigInteger(int bitLength, int certainty, Random rnd)
构造一个随机生成的正 BigInteger,它可能是 素数,具有指定的位长度。
为什么只是可能?为什么不肯定?我还能相信结果是质数吗?
【问题讨论】:
-
你读过the detailed section吗?增加的运行时间是为什么只有可能。另见stackoverflow.com/q/8744085/3001761
-
这可能只是因为它使用了可能会失败的主要测试算法。文档的其余部分提供了失败概率的上限。
-
Maurer 有一种算法可以找到保证为素数的素数。参见例如this 问题。该算法目前在 Java 运行时中不可用。
标签: java biginteger