코딩테스트/백준

[Dev-Ping9] 백준 1978번 - 소수찾기 (Java)

DevPing9_ 2021. 11. 17. 15:08

* 1은 소수가 아니다. 😨

* 약수가 있냐 없냐 찾는 것이기 때문에 주어진 숫자의 1/2 범위까지만 검색하면 된다.

* 사실 약수의 중간값은 주어진숫자에 루트를 씌우는 거란다. ㅎㅎ;;;;

* 수알못은 퇴근하겠습니다. 

 

 

# 구현 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class test{
    static boolean isPrime(int num){
        for(int i=2; i<=Math.sqrt(num); i++){
            if(num%i == 0 ) return false;
        }
        return true;
    }
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        StringTokenizer st = new StringTokenizer(br.readLine(), " ");

        int cnt = 0;
        for(int i=0; i<n; i++){
            int givenNum = Integer.parseInt(st.nextToken());
            if(isPrime(givenNum) && givenNum!=1) cnt++;
        }
        System.out.println(cnt);
    }
    //1은 소수가 아니래,,,, 힝 ...
}
728x90