-
[백준 4948] 베르트랑 공준C 프로그래밍/BOJ 2022. 7. 29. 23:30728x90
https://www.acmicpc.net/problem/4948
#include <stdio.h> int double_prime(int n) { int flag, cnt = 0; for (int i = n + 1; i <= 2 * n; i++) { //n보다 크고 2n보다 작거나 같다 //등호조심 flag = 0; if (i == 1) continue; for (int j = 2; ;j++) { if (j * j > i) break; if (!(i % j)) { flag = 1; break; } } if (flag == 0) cnt++; } return cnt; } int main(void) { int n; for (; ;) { scanf("%d", &n); if (n == 0) break; else printf("%d \n", double_prime(n)); } return 0; }
범위 조심해야 한다. 임의의 자연수 n에 대하여 n보다 크고 2n보다 작거나 같은 소수이다.
소수 구하는 문제와 거의 유사하고, 다만 개수를 세어주어야 하기 때문에 cnt 변수를 둔다.
728x90'C 프로그래밍 > BOJ' 카테고리의 다른 글
[백준 1978] 소수 찾기 (0) 2022.07.31 [백준 9020] 골드바흐의 추측 (0) 2022.07.31 [백준 2581] 소수 (0) 2022.07.29 [백준 1929] 소수 구하기 (0) 2022.07.29 내가 C를 하게 되다니.... (0) 2022.07.29