題目:
- 一個偶數(shù)總能表示為兩個素數(shù)之和。
- (1)由于用除sqrt(n)的方法求出的素數(shù)不包括2和3,
- (2)因此在判斷是否是素數(shù)程序中人為添加了一個3。
1 public class _044SumEvenNumber {
2
3 public static void main(String[] args) {
4 sumEvenNumber();
5 }
6
7 private static void sumEvenNumber() {
8 Scanner scanner = new Scanner(System.in);
9 int n = 0, i;
10
11 do {
12 System.out.println("請輸入一個大于等于6的偶數(shù):");
13 n = scanner.nextInt();
14
15 } while (n < 6 || n % 2 != 0);
16
17 for (i = 2; i <= n / 2; i++) {
18 if (fun(i) == 1 && (fun(n - i) == 1)) {
19 int j = n - i;
20 System.out.println("它是由這個組成:" + "\n" + n + "=" + i + "+" + j);
21 }
22 }
23
24 }
25
26 private static int fun(int a) {
27
28 int i, flag = 0;
29 if (a == 3) {
30 flag = 1;
31 return (flag);
32 }
33 for (i = 2; i <= Math.sqrt(a); i++) {
34 if (a % i == 0) {
35 flag = 0;
36 break;
37 } else {
38 flag = 1;
39 }
40 }
41 return (flag);
42 }
43 }