자바/백준

[백준 1978] 소수 찾기

슈슈버거 2022. 11. 24. 17:19

문제

https://www.acmicpc.net/problem/1978

 

1978번: 소수 찾기

첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.

www.acmicpc.net


내가 작성한 코드

import java.io.*;
import java.util.ArrayList;
import java.util.StringTokenizer;

public class qor1978 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int num = Integer.parseInt(br.readLine());
        StringTokenizer st = new StringTokenizer(br.readLine());

        int count = 0;

        for(int i = 0; i<num; i++){
            int input = Integer.parseInt(st.nextToken());
            boolean state = true;

            if(input == 1){
                state = false;
            }
            else if(input == 2 || input == 3){
                state = true;
            }
            else{
                for(int j = 2; j*j<=input; j++){
                    if(input%j==0){
                        state = false;
                        break;
                    }
                }
            }

            if(state == true){
                count++;
            }
        }

        bw.write(count+"");
        bw.close();
    }
}

소수 찾는 법

누군가의 체?????? 이거 써야 된다더라

i*i가 내가 소수인지 아닌지 판별하고자 하는 친구보다 작을 때만 반복문이 돌아가도록 하면 된다

'자바 > 백준' 카테고리의 다른 글

[백준 9012] 괄호  (0) 2022.11.25
[백준 2164] 카드2  (0) 2022.11.24
[백준 1181] 단어 정렬  (0) 2022.11.24
[백준 11866] 요세푸스 문제 0  (0) 2022.11.24
[백준 2751] 수 정렬하기 2  (0) 2022.11.22