驗證哥德巴赫猜想::任何一個大於6的偶數,都能分解成兩個質數的和



import java.util.Scanner;

/**
 * 
 * @author LLJ
 * @time 2020-5-6 上午2:48:54
 * @Description 驗證哥德巴赫猜想::任何一個大於6的偶數,都能分解成兩個質數的和
 */
public class GedebaheCaixiang8 {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("請輸入一個整數:");
		int n = scanner.nextInt();
		
		for(int i = 1;i <= n/2;i++){
			int j = n - i;
			if(isZhiShu2(i) && isZhiShu2(j)){
				System.out.println(n+"="+i+"+"+j);
			}
		}
		
	}
	
	
	/**
	 * 判斷一個數是否爲質數
	 * @Time 2020-5-6 上午2:52:20
	 * @param n
	 * @return
	 */
	public static boolean isZhiShu2(int n) {

		boolean falg = true;// 初始化falg爲true
		
		if (n < 3) {// 2,3爲最小的質數
			falg = n > 1;
		}
		for (int i = 2; i <= Math.sqrt(n); i++) {//Math.sqrt(n) 爲n的開方,如16的開方爲4
			if (n % i == 0) {
				falg = false;
			}
		}
		return falg;
	}
	
}

測試:輸入一個36

打印輸出爲:

 

請輸入一個整數:
36
36=5+31
36=7+29
36=13+23
36=17+19

 

 

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