题目:一个偶数总能表示为两个素数之和。
*
思路: 产生一个随机偶数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; } }