https://www.acmicpc.net/problem/1929
1929번: 소수 구하기
첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.
www.acmicpc.net
#include <iostream>
#include <vector>
using namespace std;
vector<bool> prime;
void era(unsigned int m_i) {
prime[1] = false;
for (int i = 2; i*i <= m_i; i++)
{
for (int j = i * i; j <= m_i; j = j + i)
{
prime[j] = false;
}
}
}
int main()
{
// 입력
unsigned int n, m;
cin >> n >> m;
prime = vector<bool>(m + 1, true);
era(m);
for (int i = n; i <= m; i++)
{
if (prime[i])
cout << i << '\n';
}
}
'백준 c++' 카테고리의 다른 글
백준 2309 일곱 난쟁이 c++ (0) | 2024.01.27 |
---|---|
백준 6588 c++ 골드바흐의 추측 (0) | 2024.01.27 |
백준 1978 c++ 소수 찾기 (0) | 2024.01.26 |
백준 2609 c++ 최대공약수와 최소공배수 (0) | 2024.01.25 |
백준 17425 c++ 약수의 합 (0) | 2024.01.25 |