【发布时间】:2015-08-04 05:23:51
【问题描述】:
Java 中的 BigInteger 具有生成素数的构造函数,我找不到任何提及其中使用的算法。是否有算法的名称或描述该算法的书?
【问题讨论】:
-
我查看了源代码,也没有提到算法来源或名称
Java 中的 BigInteger 具有生成素数的构造函数,我找不到任何提及其中使用的算法。是否有算法的名称或描述该算法的书?
【问题讨论】:
建议probablePrime 方法优先使用此构造函数,除非有 迫切需要指定确定性。 - 来自Java 7 BigInteger API docs
话虽如此。 BigInteger 的可能素数方法同时使用 Miller-Rabin 和 Lucas-Lehmer 算法来测试素数。
查看传球米勒拉宾(回合,随机)&& 传球卢卡斯莱默();在BigInteger internal method primeToCertainty from java 7。
进一步阅读:
【讨论】:
所使用的算法是一个实现细节,可能因 jdk 不同而不同,甚至在不同版本之间也是如此。合约只是它给你一个质数,而不是它遵循任何给定的算法来这样做。
【讨论】: