【发布时间】:2015-02-10 08:44:37
【问题描述】:
The method BigInteger.isProbablePrime() 很奇怪;从文档中,这将判断一个数字是否为素数,概率为1 - 1 / 2^arg,其中arg 是整数参数。
它在JDK中已经存在很长时间了,所以它意味着它必须有用途。我在计算机科学和算法(以及数学)方面的有限知识告诉我,知道一个数字是否“可能”是素数但不完全是素数是没有意义的。
那么,想使用这种方法的可能场景是什么?密码学?
【问题讨论】:
-
另外,Miller-Rabin primality test。主要优点是速度。例如。当您想检查因子时,您可以进行此类测试以加快因子分解过程。您可以将其中的“可能”部分保持在很低的水平,这在实践中很有用。但我同意它有点不稳定和奇怪,就像花车一样。
-
@maxx777 这是给定的——我要求一个实际的用例
-
我真的很希望投反对票的人解释一下投反对票背后的原因
-
"它在JDK中已经存在很长时间了,所以它意味着它必须有用途。" - 或者它是出于无用的原因添加的,然后没有被删除,因为没有任何内容被删除。