백준 c++

백준 1929 c++ 소수 구하기

현구구 2024. 1. 26. 12:32

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