Java:有没有更有效的方法来做到这一点?检查素数

标签 java

有更好的方法来编码吗?这是我能想到的最简单的方法,但很多人使用更复杂的代码来确定一个数字是否是素数。

public static void main(String[] args) {
    Scanner inputFromUser = new Scanner(System.in);
        int number;
        System.out.println("Please enter a number: ");
        number = inputFromUser.nextInt();
        if(number == 2 || number ==3){
            System.out.println("This number is prime");
        }
        else if(number%2 ==0 )
        {
            System.out.println("The number is not prime!");
        }
        else if(number%3 == 0){
            System.out.println("The number is not prime!");
        }
        else{
            System.out.println("This number is prime");
        }
    }
}

最佳答案

最简单的方法是使用:

int number = 25;
System.out.println(BigInteger.valueOf(number).isProbablePrime(Integer.MAX_VALUE));

应该打印出false。如果您想要一种非常有效的查找素数的方法,可以使用 in this answer 所示的方法。 (别忘了投票)。

自己测试所有较低的素数是可能的,但要注意它最终并不是那么有效。将它们全部输入到代码中肯定效率不高;我们尝试让计算机为我们完成工作(创建素数列表,测试下一个值,如果素数将它们添加到列表中)。

关于Java:有没有更有效的方法来做到这一点?检查素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61313629/

相关文章:

java - 接受/拒绝聊天客户端中的文件传输

java - 迁移到 v28.0.0 支持库后 Android gradle 构建失败

java - 卡夫卡经纪人以随机间隔崩溃

java - 如何组织Spring项目

java - Java单例类中final关键字是必须的吗?

java - Hibernate 示例查询的格式不正确

java - SharedPref 在重新启动应用程序时不保存更改

如果路径包含非拉丁字符,则 Mac OS FileNotFound 上的 Java

java - Int 大小 字节 套接字 AS3

java - 为 new Object(); 保留多少内存空间;