728x90
1) 주석 없는 VERSION
#include <iostream>
#include <cmath>
#include <cstdio>
using namespace std;
int main() {
long long n, test, i, j;
long long cnt = 0;
while (1) {
cnt = 0;
cin >> n;
if (n == 0) break;
else if (n == 1) cout << "1"<<"\n";
else {
for (int i = n + 1;i <= 2 * n;i++) {
if (i % 2 != 0) {
for (int j = 3;j <= sqrt(i);j+=2) {
if (i % j == 0) {
cnt--;
break;
}
}
cnt++;
}
}
cout << cnt << "\n";
}
}
}
2) 주석 있는 VERSION
시간초과 주의
#include <iostream>
#include <cmath>
#include <cstdio>
using namespace std;
int main() {
long long n, test, i, j;
long long cnt = 0;
while (1) {
cnt = 0;
cin >> n;
//0이 입력될 때까지 반복
if (n == 0) break;
//1일 경우 1출력
else if (n == 1) cout << "1"<<"\n";
else {
for (int i = n + 1;i <= 2 * n;i++) {
//짝수는 소수가 아니므로 한번 걸러주기
if (i % 2 != 0) {
//j+=2 주의하기
//에라토스테네스의 소수 필요 충분조건사용
for (int j = 3;j <= sqrt(i);j+=2) {
// 2보다 크면서 자기 자신의 제곱근까지의 수에 나누어지지 않는 수가 소수
if (i % j == 0) {
cnt--;
break;
}
}
cnt++;
}
}
cout << cnt << "\n";
}
}
}
'BEAKJOON' 카테고리의 다른 글
백준(1085번 직사각형에서 탈출)풀이 C++ (0) | 2021.01.14 |
---|---|
백준(9020번 골드바흐의 추측)풀이 C++ (0) | 2021.01.13 |
백준(1929번 소수구하기)풀이 C++ (0) | 2021.01.13 |
백준(11653번 소인수분해)풀이 C++ (0) | 2021.01.13 |
백준(2581번 소수)풀이 C++ (0) | 2021.01.13 |