著名的哥德巴赫猜想是:每个不小于 6 的偶数都可以表示为两个奇素数之和。
例如16=3+13=5+11。下面需要你来编程验证一下哥德巴赫猜想是否正确。
public class Test19 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
for (int k = 0; k < 3; k++) {
System.out.print("请输入一个偶数N(6<N<2000000000):");
int N = input.nextInt();
int j, i, sum;
int temp = 0;
int maxI = 0;
int maxJ = 0;
Test19 test19 = new Test19();
for (i = 3; i <= N / 2; i += 2) {
if (test19.isPrime(i) == true) {
j = N - i;
if (test19.isPrime(j) == true) {
sum = i * j;
} else {
break;
}
} else {
break;
}
if (temp <= sum) {
temp = sum;
maxI = i;
maxJ = j;
}
}
System.out.println(maxI + " " + maxJ);
System.out.println("最大乘积数:" + temp);
}
}
public boolean isPrime(int a) {
boolean flag = true;
for (int i = 2; i < a / 2; i++) {
if (a % i == 0) {
flag = false;
} else {
flag = true;
}
}
return flag;
}
}