如何在Java中检查100位整数是否为素数?

我有一个由 100 位数字组成的整数,我想检查该数字是否为素数。我该怎么检查?

我试过使用长整数,但你知道这是不可能的。那么,有没有其他方法可以解决。如果是,那么请为我提供示例代码。

我希望仅在输入任何 100 位整数时才能获得prime输出not prime


哈士奇WWW
浏览 108回答 1
1回答

开心每一天1111

如您所知,我们无法使用长整数来完成此任务。必须使用 BigInteger 类的概念。它有一种名为 isProbablePrime 的方法来确定数字是否为素数。你可以试试这段代码:public class MyCode {    private static final Scanner scanner = new Scanner(System.in);    public static void main(String[] args) {        String n = scanner.nextLine();        scanner.close();        BigInteger b = new BigInteger(n);        Boolean b1,b2,b3;        b1 = b.isProbablePrime(-1);        b2 = b.isProbablePrime(0);        b3 = b.isProbablePrime(1);        if(b1 == true && b2 == true && b3 == true){            System.out.println("prime");        }        else{            System.out.println("not prime");        }    }}要获取有关 BigInteger 类的更多信息,请访问:https ://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#isProbablePrime%28int%29
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java