一個偶數總能表示爲兩個素數之和,輸入一個偶數,把它分解爲兩個素數之和。

題目:一個偶數總能表示爲兩個素數之和,輸入一個偶數,把它分解爲兩個素數之和。

注意:不要忘記單獨處理4。

import java.util.Scanner;
public class Prog44{
	public static void main(String[] args){
		System.out.print("請輸入一個偶數:");
		Scanner scan = new Scanner(System.in);
		int n = scan.nextInt();
		scan.close();
		if(n%2!=0){
		  System.out.println("您輸入的不是偶數!");
		  return;
		}
		if(n==4){
			  System.out.println("4=2+2");
			  return;
			}
		
		twoAdd(n);
	}
	//偶數分解爲素數之和
	private static void twoAdd(int n){
		for(int i=2;i<n/2+1;i++){
			if(isPrime(i)&&isPrime(n-i)){
				System.out.println(n+"="+(i)+"+"+(n-i));
				break;
			}
		}
	}
	//判斷素數
	private static boolean isPrime(int m){
		boolean flag = true;
		for(int i=2;i<Math.sqrt(m)+1;i++){
			if(m%i==0){
				flag = false;
				break;
			}
		}
		return flag;
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章