

베르트랑 공준이라고, 겁먹을게 전혀 없다. 우리가 증명같은걸 알 필요가 없고, 우리는 결과만 알면 된다. n과 2n사이의 소수의 개수 출력. 끝.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while (true) {
int n = Integer.parseInt(br.readLine());
int count = 0;
boolean[] pn = new boolean[2*n+1]; // 소수 판별 배열, false(기본값)이면 소수
if (n == 0) {
System.exit(0);
} else {
pn[1] = true;
for (int i=2; i<=Math.sqrt(2*n); i++) {
if (pn[i] == true) {
continue;
}
for (int j=i*i; j<pn.length; j+=i) {
pn[j] = true;
}
}
for (int i=n+1; i<=2*n; i++) {
if (pn[i] == false) {
count++;
}
}
System.out.println(count);
}
}
}
}'백준 문제풀이 > 기본수학2' 카테고리의 다른 글
| 2750. 수 정렬하기 (자바, Java) (0) | 2022.09.25 |
|---|---|
| 9020. 골드바흐의 추측 (자바, Java) (0) | 2022.09.25 |
| 1929. 소수구하기 (자바, Java) (1) | 2022.09.25 |
| 11653. 소인수 분해 (자바, Java) (0) | 2022.09.25 |
| 2581. 소수 (자바, Java) (1) | 2022.09.25 |