M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. (단, M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. (1 <=M <=N <=1,000,000))
풀이 전략
해당 수가 소수인지 판별하여 소수라면 출력한다.
소스 코드
#include <iostream>
using namespace std;
bool IsPrime(int x)
{
if (x < 2)
return false;
for (int i = 2; i * i <= x; ++i)
{
if (x % i == 0)
return false;
}
return true;
}
int main()
{
int m, n;
cin >> m >> n;
for (int i = m; i <= n; ++i)
{
if(IsPrime(i))
cout << i << '\n';
}
}