- m부터 n까지의 소수를 구하는 문제
123456789101112131415161718192021222324252627282930#define N 1000000
#include <iostream>
using
namespace
std;
bool
prime[N+1];
// true 소수 x, false 소수 o
int
main()
{
prime[0] = prime[1] =
true
;
for
(
int
i = 2; i*i <= N; i++) {
if
(prime[i] ==
false
) {
for
(
int
j = i*i; j <= N; j+=i) {
prime[j] =
true
;
}
}
}
int
m, n;
cin >> m >> n;
cin.sync_with_stdio(
false
);
for
(
int
i = m; i <= n; i++) {
if
(prime[i] ==
false
)
// cout << i << endl;
// cout은 stdio와의 동기화 때문에 느림 -> sync_with_stdio를 false
// endl을 하게되면 매번 출력 버퍼를 비움 -> '\n'으로 개행
cout << i <<
"\n"
;
}
return
0;
}
'Algorithm' 카테고리의 다른 글
Dynamic Programming (0) | 2016.04.04 |
---|---|
알고리즘 - 보간 탐색 (0) | 2015.11.14 |
알고리즘 - 이진 탐색 (0) | 2015.11.14 |
알고리즘 - 순차 탐색 (1) | 2015.11.14 |
알고리즘 - 위상 정렬 (0) | 2015.11.14 |