Java判斷一個數是否為質數/素數,以及素數對
阿新 • • 發佈:2019-01-31
題目描述
給定一個正整數,編寫程式計算有多少對質數的和等於輸入的這個正整數,並輸出結果。輸入值小於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; } }