题目:一个偶数总能表示为两个素数之和。
分析:一个偶数可能会有不止一对两个素数之和的情况
例如:20=3+17 20=7+13
import java.util.Scanner;
public class Prog44 {
public static void main(String[] args) {
System.out.print("请输入一个偶数:");
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
scan.close();
if(n%2!=0){
System.out.println("您输入的不是偶数!");
return;
}
twoAdd(n);
}
//偶数分解为素数之和
private static void twoAdd(int n){
for(int i=2;i<n/2+1;i++){
if(isPrime(i)&&isPrime(n-i)){
System.out.println(n+"="+(i)+"+"+(n-i));
}
}
}
//判断素数
private static boolean isPrime(int m){
boolean flag = true;
for(int i=2;i<Math.sqrt(m)+1;i++){
if(m%i==0){
flag = false;
break;
}
}
return flag;
}
}
/*运行结果
请输入一个偶数:20
20=3+17
20=7+13
*/