如何用Java判断是否一个数是素数,

img


import java.util.Scanner;

public class Test02 {
    public static void main(String[] args) {
        System.out.println("请输入要判断的数:");
        Scanner scan = new Scanner(System.in);
        int num = scan.nextInt();
        if(isPrime(num)){
            System.out.println(num+"是素数");
        }else{
            System.out.println(num+"不是素数");
        }
    }
    public static boolean isPrime(int num) {
        for(int i=2; i<num; i++) {
            if(num%i == 0) {
                return false;
            }
        }
        return true;
    }
}

运行结果:
请输入要判断的数:
12
12不是素数

/**
* 判断是否为素数/质数的常规方法
* 判断n是否为素数,根据定义直接判断从2到n-1是否存在n的约数即可
* @param num
* @return
*/
public static boolean isPrimeNormal(int num) {
for(int i=2; i<num; i++) {
if(num%i == 0) {
return false;
}
}
return true;
}


public boolean isPrime(int n)

{
if(n < 2) return false;

if(n == 2) return true;

if(n%2==0) return false;

for(int i = 3; i < n; i += 2)

if(n%i == 0) return false;

return true;

}

如果帮到您,希望给个采纳

另外 博主在1024那天参加活动,发布了一个blog,可以来访问一下,感激不尽。

我想在1024发的一篇博客。_Pumpkin's Blog-CSDN博客 前言  本篇文章不谈技术,只写一些随笔。  直到今天(2021年10月24日)笔者已经毕业一年了。其实在这之前我对于1024,程序员这些名词在心里其实并不是很在意,每年在这一天大概就是看看网上的搞笑新闻以及图片,心里笑一笑就过去了。但是今年对于1024突然有一种别样的感觉,不同于往日,好像这就是我应该过的一个节日。  为什么会产生这样的感觉呢?我思索良久,大概可能是因为已经真正意义的工作了一年,内心接受了自己属于程序员的这个大群体,并且从某种意义上来说这是工作后的第一个1024,新鲜感也是一方面吧。但 https://blog.csdn.net/weixin_44235109/article/details/120924109