用Java写哥德巴赫猜想
时间: 2023-03-23 19:02:21 浏览: 531
哥德巴赫猜想是指:任何一个大于2的偶数都能表示为两个质数之和。要用Java编写一个程序来验证这个猜想,可以采用以下算法:
1. 首先输入一个大于2的偶数n;
2. 遍历从2到n之间的所有偶数i;
3. 对于每个偶数i,判断i和n-i是否都是质数;
4. 如果都是质数,则输出i和n-i,退出循环;
5. 如果没有找到符合条件的质数对,则输出“无法验证哥德巴赫猜想”。
以下是Java代码实现:
```java
import java.util.Scanner;
public class GoldbachConjecture {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个大于2的偶数:");
int n = sc.nextInt();
if (n <= 2 || n % 2 != 0) {
System.out.println("输入有误!");
return;
}
for (int i = 2; i <= n / 2; i += 2) {
if (isPrime(i) && isPrime(n - i)) {
System.out.println(n + " = " + i + " + " + (n - i));
return;
}
}
System.out.println("无法验证哥德巴赫猜想!");
}
// 判断一个数是否为质数
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;
}
}
```
该程序中,isPrime()方法用于判断一个数是否为质数,主程序中遍历从2到n/2之间的所有偶数i,并判断i和n-i是否都是质数,如果是,则输出结果。如果没有找到符合条件的质数对,则输出无法验证哥德巴赫猜想。
阅读全文