44 一个偶数总能表示为两个素数之和。

题目:一个偶数总能表示为两个素数之和。
 (1)由于用除sqrt(n)的方法求出的素数不包括2和3,
 (2)因此在判断是否是素数程序中人为添加了一个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的偶数:");
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 }

 

posted @ 2017-03-13 19:13  北极的大企鹅  阅读(213)  评论(0编辑  收藏  举报
阅读 - 79万