給定一個正整數,編寫程序計算有多少對質數的和等於這個輸入的正整數,並輸出結果


Scanner sc = new Scanner(System.in);
        while(true) {
            System.out.println("please input a positive integer: ");
            int n = sc.nextInt();
            if(n < 4) {
                break;
            }else if(n == 4) {
                System.out.println(n + " = 2 + "+(n-2));
            }
            for(int i = 3; i <= n/2; i += 2) {
                if(isPrimer(i) && isPrimer(n-i)) {
                    System.out.println(n + " = " + i + " + " + (n-i));
                }
            }
        }
    }
    public static boolean isPrimer(int n) {
        double max = Math.sqrt(n);
        if(n == 1) 
            return false;
        else if(n == 2 || n == 3)
            return true;
        else {
            for(int i = 2 ; i <= max; i++) {
                if(n % i == 0) 
                    return false;
            }
            return true;
        }
       
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM