Java50道经典习题-程序44 偶数的素数和

题目:一个偶数总能表示为两个素数之和。
分析:一个偶数可能会有不止一对两个素数之和的情况
例如:20=3+17 20=7+13

 1 import java.util.Scanner;
 2 public class Prog44 {
 3     public static void main(String[] args) {
 4         System.out.print("请输入一个偶数:");
 5         Scanner scan = new Scanner(System.in);
 6         int n = scan.nextInt();
 7         scan.close();
 8         if(n%2!=0){
 9             System.out.println("您输入的不是偶数!");
10             return;
11         }
12         twoAdd(n);
13     }
14     //偶数分解为素数之和
15     private static void twoAdd(int n){
16         for(int i=2;i<n/2+1;i++){
17             if(isPrime(i)&&isPrime(n-i)){
18                 System.out.println(n+"="+(i)+"+"+(n-i));
19             }
20         }
21     }
22     //判断素数
23     private static boolean isPrime(int m){
24         boolean flag = true;
25         for(int i=2;i<Math.sqrt(m)+1;i++){
26             if(m%i==0){
27                 flag = false;
28                 break;
29             }
30         }
31         return flag;
32     }
33 }
34 /*运行结果
35 请输入一个偶数:20
36 20=3+17
37 20=7+13
38 */
原文地址:https://www.cnblogs.com/parkour1026/p/10796497.html