哥德巴赫猜想
/**
* 输入一个偶数证明其总能表示为两个素数之和。
*
* @author zengxin
*
*/
public class Page06哥德巴赫猜想 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
try {
while(true){
System.out.println("请输入一个偶数:");
int n = sc.nextInt();
if(n<=2){
System.out.println("请输入一个大于2的偶数");
continue;
}
if(n%2!=0){
System.out.println("输入错误,请输入一个偶数:");
continue;
}
for(int i=1;i<=n/2;i++){
/**
* 当i>2时,偶数都不可能为是素数
*/
int j = n-i;
if(isPrime(i) && isPrime(j)){
System.out.println(i+"+"+j+"="+(i+j));
}
}
}
} catch (Exception e) {
e.printStackTrace();
}finally {
sc.close();
}
}
private static boolean isPrime(int n){
if(n<3){
return n>1;
}
for(int i=2; i<Math.sqrt(n);i++ ){
if(n%i==0){
return false;
}
}
return true;
}
}
