현재

소수(에라토스테네스 체) 본문

알고리즘/기타알고리즘문제

소수(에라토스테네스 체)

AAAge 2024. 4. 16. 14:03
설명

소수의 개수를 구하라. N(2<=N<=200,000)

예시 입력 1 

20

예시 출력 1

8

 

<힌트>

더보기

에라토스테네스의 체를 통해서 구한다.

앞에서 부터 체크하는 방식으로 하면된다.

소수는 1과 자기자신 이외의 수로는 나눠지지 않는 수이다.

 

<정답코드>

더보기
import java.util.*;

public class Main {
    public static void main(String[] args) {
        //소수 구하기 ( 에라토스테네스의 체 )
        Scanner sc = new Scanner(System.in);
        int s = sc.nextInt();
        int answer = 0;
        int prime[] = new int[s+1];
        for( int i = 2; i < prime.length ; i++){
            if(prime[i] == 0){
                answer++;
                for( int j = i ; j < prime.length; j = j+i){
                    prime[j] = 1;
                }
            }
        }
        System.out.println(answer);

        sc.close();
    }

}

'알고리즘 > 기타알고리즘문제' 카테고리의 다른 글

뒤집은 소수  (0) 2024.04.16
12. 암호  (0) 2024.04.09
11. 문자열 압축  (0) 2024.04.08
10. 가장 짧은 문자거리  (0) 2024.04.08
8. 유효한 팰린드롬  (0) 2024.04.03