1. 程式人生 > >Java判斷一個數是否為質數/素數,以及素數對

Java判斷一個數是否為質數/素數,以及素數對

題目描述

給定一個正整數,編寫程式計算有多少對質數的和等於輸入的這個正整數,並輸出結果。輸入值小於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;
    }
     
}