求N以内所有的质数,且各位数字之和是偶数
判断素数(只能被1和本身整除),若在2~√N之间能被整除则不是素数。
判断位数之和是否为偶数,逐位取出各位数,相加看是否能被2整除。
public class aaaaq {
public static boolean isPrime(int num) {//判断是否素数
if(num <= 1) return false;
for(int i = 2;i*i <= num;i++) {
if(num % i == 0) {
return false;
}
}
return true;
}
public static boolean isEvenSum(int num) {//判断各数位之和是否偶数
int sum = 0;
while(num != 0) {
sum+=num%10;
num/=10;
}
if(sum%2!=0) {
return false;
}
return true;
}
public static void main(String[] args ) {
int[] num = new int[1000];
for(int i = 0 ;i < 1000;i++) {
num[i] = i;
}
for(int i = 0 ;i < 1000;i++) {
if(isPrime(num[i])&&isEvenSum(num[i])) {
System.out.println(num[i]);
}
}
}
}