编写程序:验证哥德巴赫猜想之一—— 2000以内的正偶数(大于等于4)都能够分解为两个质数之和。每个偶数表达成形如:4=2+2的形式,请每行输出4个偶数及其分解结果。 单个表达式用以下格式字符串输出: "{:4}={:4}+{:4}" 每行输出4个,每个表达式之间添加一个空格进行分割! 4= 2+ 2 6= 3+ 3 8= 3+ 5 10= 3+ 7 12= 5+ 7 14= 3+ 11 16= 3+ 13 18= 5+ 13 20= 3+ 17 22= 3+ 19 24= 5+ 19 26= 3+ 23 …… 1980= 7+1973 1982= 3+1979 1984= 5+1979 1986= 7+1979 1988= 37+1951 1990= 3+1987 1992= 5+1987 1994= 7+1987 1996= 3+1993 1998= 5+1993 2000= 3+1997
时间: 2024-01-07 17:03:31 浏览: 29
以下是Java代码实现:
```java
public class Main {
public static boolean isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
public static void main(String[] args) {
int count = 0;
for (int i = 4; i <= 2000; i += 2) {
for (int j = 2; j < i; j++) {
if (isPrime(j) && isPrime(i - j)) {
System.out.printf("%4d=%4d+%4d ", i, j, i - j);
count++;
if (count == 4) {
System.out.println();
count = 0;
}
break;
}
}
}
}
}
```
和 Python 版本的思路基本一致,也是先定义了一个判断质数的函数 `isPrime`,然后从 4 开始循环到 2000,对于每个偶数,从 2 开始循环到该偶数本身,判断当前数和差值是否都是质数,如果是,则输出对应的表达式。每输出 4 个表达式,就换行。