No Rules Rules

베르트랑 공준 (feat. 백준, 4948번) 본문

생활/코테

베르트랑 공준 (feat. 백준, 4948번)

개발하는 완두콩 2022. 7. 31. 18:46
728x90
반응형

베르트랑 공준
https://www.acmicpc.net/problem/4948

 

4948번: 베르트랑 공준

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

www.acmicpc.net

반응형
// woohyeon.kim
// https://www.acmicpc.net/problem/4948
#include <iostream>
#include <cmath>
using namespace std;
int main() {
	ios::sync_with_stdio(false), cin.tie(NULL);
	register int N;
	register bool arr[123456 * 2 + 1] = { false };
	arr[0] = arr[1] = true;
	register int e = sqrt(123456 * 2);
	for (register int i = 2, j; i <= e; ++i)
		if (!arr[i])
			for (j = i << 1; j <= 123456 * 2; j += i)
				arr[j] = true;
	while (true) {
		cin >> N;
		if (!N)		break;
		register int ans = 0;
		for (register int i = N + 1; i <= 2 * N; ++i)
			if (!arr[i])			++ans;
		cout << ans << "\n";
	}
	return 0;
}
// *&)*@*

문제로 주어진 N의 2배만큼 미리 소수를 구해두고, 문제에서 주어진 N+1 ~ 2N까지 소수의 개수를 구하는 방법입니다.

이 또한 "에라토스테네스의 체" 로 미리 소수를 구했습니다. 아래 문제를 선행하시길 권장합니다.

 

소수 찾기 (feat. 백준, 1978번)

소수 찾기 https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net // wooh..

kim519620.tistory.com

 

728x90
반응형
Comments