BigInteger.isProbablePrime

ktm*_*124 9 java

我只想证实我对这种方法的直觉.请考虑以下代码.

long knownPrime = // some large known prime
int certainty = // some integer greater than 0

BigInteger b = BigInteger.valueOf(knownPrime);
boolean isPrime = b.isProbablePrime(certainty);
Run Code Online (Sandbox Code Playgroud)

对于一个大的已知素数,并且对于任何确定性> 0,是否准确地说b.isProbablePrime(certainty)总是会返回真的?

或者是否存在方法"猜测"已知素数是复合的?

And*_*ira 8

对于一个大的已知素数,并且对于任何确定性> 0,是否准确地说b.isProbablePrime(确定性)将始终返回true?

是.该文件说,它会返回false,如果它肯定的是,号码是唯一的复合材料.

返回:如果此BigInteger可能是素数,则返回true;如果它肯定是复合的,则返回false .

所以certainty参数只会影响假阳性的可能性:说复合数是素数,而实际上不是.