美文网首页基础练习题
44 一个偶数总能表示为两个素数之和。

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

作者: 北极的大企鹅 | 来源:发表于2023-10-28 01:36 被阅读0次

    题目:

    • 一个偶数总能表示为两个素数之和。
      • (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 }
    
    

    相关文章

      网友评论

        本文标题:44 一个偶数总能表示为两个素数之和。

        本文链接:https://www.haomeiwen.com/subject/lfovbdtx.html