Algorithm
에라토스테네스의체
안중환
2016. 3. 22. 13:12
- m부터 n까지의 소수를 구하는 문제
#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; }