题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextInt()) { // 注意 while 处理多个 case
int a = in.nextInt();
//两个素数组成一个偶数 肯定是在中心值的两边(包含中心值)
//只需要遍历一下就行
for(int i=a/2;i>=2;i--){
if(isPrimeNum(i)){
if(isPrimeNum(a-i)){
System.out.println(i);
System.out.println(a-i);
break;
}
}
}
}
}
//判断是否是素数
public static boolean isPrimeNum(int num){
//小于2的不是素数
if(num<2){
return false ;
}
//等于二的是素数
if(num==2){
return true;
}
//大于2的偶数不是素数
if(num%2==0){
return false ;
}
//能被大于3小于输入数值的奇数整除的不是素数
for(int i=3;i<num ;i=i+2){
if(num%i==0){
return false ;
}
}
//其余的都是素数
return true ;
}
}


查看14道真题和解析