开发者社区> 问答> 正文

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

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

展开
收起
珍宝珠 2020-02-13 17:51:52 1827 0
1 条回答
写回答
取消 提交回答
  • package cskaoyan;
     
    public class cskaoyan44 {
        @org.junit.Test
        public void sum() {
            java.util.Scanner in = new java.util.Scanner(System.in);
            long number = 0;
     
            do {
                System.out.println("请输入一个偶数:");
                number = in.nextLong();
            } while (number % 2 != 0);
     
            for (long i = 2; i < number; i++) {
                if (isPrime(i) && isPrime(number - i)) {
                    System.out.println("偶数" + number + "可以分解成" + i + "和" + (number - i) + "两个素数的和");
                    break;
                }
            }
     
            in.close();
        }
     
        private static boolean isPrime(long number) {
            boolean flag = true;
     
            if (number < 2) {
                flag = false;
            } else if (number < 4) {
                flag = true;
            } else if (number % 2 == 0) {
                flag = false;
            } else {
                for (long i = 3; i < Math.sqrt(number) + 1; i++) {
                    if (number % i == 0) {
                        flag = false;
                        break;
                    }
                }
            }
     
            return flag;
        }
    }
    
    2020-02-13 17:52:05
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载