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;
    }
     
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章