任何大于6的偶数都可以表示为两个素数之和,如 8 = 3 + 5;
任何大于6的奇数都可以表示为三个素数之和,如 11 = 3 + 3 + 5
/**
* @(#)MyTest.java
*
*
* @author if
* @version 1.00 2007/3/24
*/
import java.util.Scanner;
public class MyTest {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
MyTest test=new MyTest();
System.out.println("input you number:");
int n=in.nextInt();
test.getGeDeBaChe(n);
}
private void getGeDeBaChe(int n){
boolean isDouble=isDoubleNumber(n);
if(isDouble){
for(int x=3;x<n/2;x+=2){
if(isPrime(x)){
int y=n-x;
if(isPrime(y)){
System.out.println(n+"="+x+"+"+y);
break;
}
}
}
}else{
System.out.println("not number");
}
}
private boolean isDoubleNumber(int num){
if(num%2==0)
return true;
else
return false;
}
private boolean isPrime(int num){
int n=(int)(Math.sqrt(num));
for(int i=2;i<=n;i++){
if(num%i==0)
return false;
}
return true;
}
}