題目描述
給定一個正整數,編寫程序計算有多少對質數的和等於輸入的這個正整數,並輸出結果。輸入值小於1000。
如,輸入爲10, 程序應該輸出結果爲2。(共有兩對質數的和爲10,分別爲(5,5),(3,7))
import java.util.Scanner;
public class StringUtil {
//素數對
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int sum = 0;
for(int i=2; i<=n/2; i++){
if(isPrime(i) && isPrime(n-i)){
sum++;
}
}
System.out.println(sum);
}
//判斷是否爲素數
public static boolean isPrime(int n){
if(n==1) return false;
for(int i=2; i<=Math.sqrt(n); i++){
if(n%i == 0)
return false;
}
return true;
}
}