Algorithm
[백준 - 1929번] 소수 구하기
1984
2022. 1. 21. 06:39
- std::endl 사용하면 시간 초과 -> 'n' 사용한다.
- 소수 판정할 때 제곱근까지만 돌린다.
#include <iostream>
#include <cmath>
using namespace std;
void isPrime(int num) {
int a = (int)sqrt(num);
for (int j = 2; j <= a; j++) {
if (num % j == 0) return;
}
cout << num << '\n';
return;
}
int main(void)
{
int M, N;
int check;
cin >> M >> N;
for (int i = M; i <= N; i++)
{
if (i == 1) //M이 1일 경우 예외 처리
{
continue;
}
else if (i == 2 || i == 3)
{
cout << i << '\n'; //endl 시간초과
continue;
}
else
{
isPrime(i);
}
}
return 0;
}
728x90