반응형

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

 

4948번: 베르트랑 공준

베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼

www.acmicpc.net

 

1 ~ N까지 소수 개수의 누적합을 저장해주었습니다.

 

#include <cstdio>
#include <cstring>
#define MAX 123456 * 2 + 1

int n, dp[MAX];

int main() {
	memset(dp, -1, sizeof(dp));
	dp[1] = 0;
	for (int i = 2; i <= MAX; i++) {
		if (dp[i] == -1) {
			dp[i] = 1;
			for (int j = i + i; j <= MAX; j += i) dp[j] = 0;
		}
		dp[i] += dp[i - 1];
		
	}
	while (1) {
		scanf("%d", &n);
		if (n == 0) break;
		printf("%d\n", dp[2 * n] - dp[n]);
	}
}
반응형

'Algorithm' 카테고리의 다른 글

백준 1535 : 안녕  (0) 2021.11.19
백준 1451 : 직사각형으로 나누기  (0) 2021.11.19
백준 13305 : 주유소  (0) 2021.11.19
백준 17140 : 이차원 배열과 연산  (0) 2021.11.19
백준 19952 : 인성 문제 있어??  (0) 2021.11.19

+ Recent posts