在千锋“逆战”学习第 3天,
你只需努力,做好自己
歌德巴赫猜想:
输入一个大于6的偶数,请输出这个偶数能被分解为那两个质数的和。
public class GoldbachConjecture {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("请输入一个数:");
int number=input.nextInt();
if(number%2!=0 || number<=6) {
System.out.println("输入错误,请输入一个大于6的偶数:");
}
for(int i=2;i<=number;i++) {
for(int y=number;y>i;y--) {
if(getreturn(i) && getreturn(y)){
if(i + y == number) {
System.out.println(number+"="+i+"+"+y);
}
}
}
}
}
public static boolean getreturn(int x){ //质数判断
for(int i=2;i<x;i++){
if(x % i == 0){
return false;
}
}
return true;
}
}
代码参考结果:
请输入一个数:66
66=5+61
66=7+59
66=13+53
66=19+47