main
[백준 - 1929번] 소수 구하기 본문
- 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
'Algorithm' 카테고리의 다른 글
[백준 - 2562번] 최댓값 (0) | 2022.01.22 |
---|---|
[백준 - 1157번] 단어 공부 (0) | 2022.01.21 |
[백준 - 1152번] 단어의 개수 (0) | 2022.01.21 |
[백준 - 1008번] A/B (0) | 2022.01.21 |
[백준 - 1978번] 소수 찾기 (0) | 2022.01.21 |
Comments