Skip to content

Commit 804ad9e

Browse files
committed
[Silver II] Title: 베르트랑 공준, Time: 148 ms, Memory: 15564 KB -BaekjoonHub
1 parent 053283d commit 804ad9e

File tree

2 files changed

+79
-0
lines changed

2 files changed

+79
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# [Silver II] 베르트랑 공준 - 4948
2+
3+
[문제 링크](https://www.acmicpc.net/problem/4948)
4+
5+
### 성능 요약
6+
7+
메모리: 15564 KB, 시간: 148 ms
8+
9+
### 분류
10+
11+
수학, 정수론, 소수 판정, 에라토스테네스의 체
12+
13+
### 제출 일자
14+
15+
2024년 11월 12일 10:50:05
16+
17+
### 문제 설명
18+
19+
<p>베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다.</p>
20+
21+
<p>이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼프가 1850년에 증명했다.</p>
22+
23+
<p>예를 들어, 10보다 크고, 20보다 작거나 같은 소수는 4개가 있다. (11, 13, 17, 19) 또, 14보다 크고, 28보다 작거나 같은 소수는 3개가 있다. (17,19, 23)</p>
24+
25+
<p>자연수 n이 주어졌을 때, n보다 크고, 2n보다 작거나 같은 소수의 개수를 구하는 프로그램을 작성하시오. </p>
26+
27+
### 입력
28+
29+
<p>입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 케이스는 n을 포함하는 한 줄로 이루어져 있다.</p>
30+
31+
<p>입력의 마지막에는 0이 주어진다.</p>
32+
33+
### 출력
34+
35+
<p>각 테스트 케이스에 대해서, n보다 크고, 2n보다 작거나 같은 소수의 개수를 출력한다.</p>
36+
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import java.util.*;
2+
import java.io.*;
3+
4+
public class Main {
5+
static int arr[];
6+
7+
public static void main(String[] args) throws IOException {
8+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
9+
10+
11+
arr = new int[246913];
12+
13+
14+
func();
15+
16+
while (true) {
17+
int n = Integer.parseInt(br.readLine());
18+
if (n == 0)
19+
break;
20+
21+
int count = 0;
22+
23+
24+
for (int i = n + 1; i <= 2 * n; i++) {
25+
if (arr[i] == 0)
26+
count++;
27+
}
28+
29+
System.out.println(count);
30+
}
31+
}
32+
33+
static void func() {
34+
35+
for (int i = 2; i <= 246912; i++) {
36+
if (arr[i] == 0) {
37+
for (int j = i + i; j <= 246912; j += i) {
38+
arr[j] = 1;
39+
}
40+
}
41+
}
42+
}
43+
}

0 commit comments

Comments
 (0)