提问人:user502233 提问时间:10/3/2023 更新时间:10/3/2023 访问量:60
是否有 java std 方法,例如“静态布尔值 isPrime(int)”[关闭]
is there a java std method such as "static boolean isPrime(int)" [closed]
问:
闭。这个问题正在寻求有关书籍、工具、软件库等的建议。它不符合 Stack Overflow 准则。它目前不接受答案。
我们不允许提出有关书籍、工具、软件库等建议的问题。您可以编辑问题,以便用事实和引文来回答。
上个月关闭。
是否有与“Math”类似的类来定义诸如“静态布尔值isPrime(int)”之类的方法。
答:
3赞
Codemaker2015
10/3/2023
#1
Java 标准库 (java.util) 没有提供专门命名的内置方法,用于检查给定整数是否为素数。如果要使用内置方法进行检查,请使用 .isPrime(int)
BigInteger.isProbablePrime
import java.math.BigInteger;
public class PrimeChecker {
public static void main(String[] args) {
BigInteger bigInteger = new BigInteger("17");
int certainty = 10;
if (bigInteger.isProbablePrime(certainty))
System.out.println(bigInteger + " is a prime number.");
else
System.out.println(bigInteger + " is not a prime number.");
}
}
评论
1赞
Luatic
10/3/2023
为什么要使用如此低的确定性?
1赞
Codemaker2015
10/3/2023
如果我输入较大的确定性值,则需要花费很多时间来计算。较低的值适用于较小的数字。我想把它保持在最低限度。如果需要,我们可以增加价值。
0赞
Luatic
10/3/2023
测试给出错误结果的概率随着确定性呈指数下降,而运行时间仅线性增加 (IIRC),所以我不明白为什么你应该低到 .10
评论
BigInteger.isProbablePrime
certainity
Integer.MAX_VALUE