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