제2회 대학생 프로그래밍 온라인대회 연습문제 A 소수 판정

문제

소스 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include <cmath>
using namespace std;
bool IsPrime(int);
int main() {
int T;// 테스트 케이스 개수(1 <= T <= 10)
cin >> T;
for(int i = 0; i < T; i++)
{
int N;// 소수인지 판정할 자연수(1 <= N <= 100,000,000)
cin >> N;
if(IsPrime(N))
{
cout << "YES" << endl;
}
else
{
cout << "NO" << endl;
}
}
return 0;
}
bool IsPrime(int n)
{
for(int i = 2; i < sqrt(n); i++)
{
if(n % i == 0)
{
return false;
}
}
return true;
}

코멘트

소수를 구하는 문제이다. 이 문제의 키 포인트는 제곱근 이상은 해볼 필요가 없다는 사실인것 같다.

Share Comments