全國高校計算機能力挑戰賽 Java

RuiW_97發表於2020-11-29

題目:輸入第一行,陣列中元素的個數 第二行,N個正整數,空行隔開 輸出:3合數區間的個數。連續3個元素均為合數的區間為3合數區間

輸入:
7
6 8 4 9 7 5 8
輸出:
2

  • 合數即 除了能被1和它本身整除,還能被其他數整除。與質數相對,質數也叫素數。
    public static void main(String[] args) {
         Scanner sc = new Scanner(System.in);
         int N = sc.nextInt();//N個整數
         int[] nums = new int[N];
         int count = 0;
         for(int i = 0; i < nums.length; i++){
             nums[i] = sc.nextInt();
    
         }
         for(int i = 0; i < nums.length - 2; i++) {
             if (!isPrime(nums[i]) && !isPrime(nums[i + 1]) && !isPrime(nums[i + 2])) count++;
         }
         System.out.println(count);
    
     }
     //返回true,不是合數;返回false,是合數
     public static boolean isPrime(int n){
         //質數不小於2    2,3,5,7。。。
         if(n < 2) return false;
         for(int i = 2; i <= Math.sqrt(n); i++){
             if(n % i == 0) return false;
         }
         return true;
     }
    

相關文章