题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
http://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9
思路:从中间往两边找,一旦发现两个数都是素数,则输出。这两个数要保持和为目标值。
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextInt()) { // 注意 while 处理多个 case
int a = in.nextInt();
int l=a/2;//左边值
int r=a/2;//右边值
while(l>=2){
if(isPury(l,r)){//若两个数都是素数
System.out.println(l);
System.out.println(r);
break;
}else{//l与r向两边扩展,但同时保持和为a。
l--;
r=a-l;
}
}
}
}
//判断两个数是否都是素数。
public static boolean isPury(int x1,int x2){
for(int i=2;i<x1;i++){
if(x1%i==0){
return false;
}
}
for(int j=2;j<x2;j++){
if(x2%j==0){
return false;
}
}
return true;
}
查看3道真题和解析
