一个偶数总能表示为两个素数之和。
题目:一个偶数总能表示为两个素数之和。
*
思路: 产生一个随机偶数n 从2到n找素数 找到两个素数求和,如果和等于偶数,则打印出两个素数
public class 第四十四题一个偶数总能表示为两个素数之和 {
public static void main(String[] args) {
/**
* 思路: 产生一个随机偶数n 从2到n找素数 找到两个素数求和,如果和等于偶数,则打印出两个素数
*/
// 产生一个从2到2000之间的随机偶数
int n = ((int)(Math.random() * 1000 + 1) * 2);
int a = 0;
int b = 0;
for (int i = 2; i < n; i++) {
if (isPrime(i)) {
a = i;
}
for (int j = 2; j < n; j++) {
if (isPrime(j)) {
b = j;
if (n == (a + b)) {
System.out.println(n + "=" + a + "+" + b);
return;
}
}
}
}
}
// 判断一个数是否为素数
public static boolean isPrime(int n) {
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n == 2) {
return true;
} else if (n % i == 0) {
return false;
}
}
return true;
}
}