題目:一個偶數總能表示為兩個素數之和。
*
思路: 產生一個隨機偶數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; } }