Java
[Java] 에라토스테네스의 체 (소수 갯수)
1984
2022. 11. 19. 12:50
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[] arr = new int[N + 1];
int count = 0;
// 에라토스테네스의 체
arr[1] = 1; // 1은 소수 아님.
for (int i = 2; i < arr.length; i++) {
if (arr[i] == 0) {
count++; // 소수일 때, count ++;
for (int j = 2; i * j < arr.length; j++) {
arr[i * j] = 1;
}
}
}
System.out.println(count);
}
}728x90