prime number

判断一个整数 n 是否为质数思路:
若 n ≤ 1,不是质数;
若 n = 2,是质数;
若 n 是偶数,直接不是质数;
从 3 到√n,逐个试除,如果能被整除则是合数,遍历结束都不能整除则为质数。
public class PrimeDemo {
public static boolean isPrime(int n){
if(n<=1){
return false;
}
if(n2){
return true;
}
if(n%2
0){
return false;
}
for(int i=3;i<=Math.sqrt(n);i+=2){
if(n%i==0){
return false;
}
}
return true;
}
public static void sieve(int max){
boolean[] isPrime=new boolean[max+1];
for(int i=2;i<=max;i++){
isPrime[i]=true;
}
for(int i=2;ii<=max;i++){
if(isPrime[i]){
for(int j=i
i;j<=max;j+=i){
isPrime[j]=false;
}
}
}
System.out.println("1~"+max+"中的质数:");
for(int i=2;i<=max;i++){
if(isPrime[i]){
System.out.print(i+" ");
}
}
}
public static void main(String[] args){
int num=17;
System.out.println(num+"是质数吗?"+isPrime(num));
sieve(30);
}
}

posted @ 2026-06-15 10:43  爻爻fqx  阅读(0)  评论(0)    收藏  举报