L1-028 判断素数(模拟)

本题的目标很简单,就是判断一个给定的正整数是否素数。

输入格式:

输入在第一行给出一个正整数 N(≤ 10),随后 N 行,每行给出一个小于 ${2^{​31}}$ 的需要判断的正整数。

输出格式:

对每个需要判断的正整数,如果它是素数,则在一行中输出 Yes ,否则输出 No

输入样例:

1
2
3
2
11
111

输出样例:

1
2
Yes
No

思路:

写一个判断素数的函数。

代码:

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
#include <bits/stdc++.h>
using namespace std;

int N, num;

bool isPrime(int n)
{
int i;

for(i = 2; i <= sqrt(n); i++)
if(n % i == 0)
break;
if(n <= 1)
return false;
else if(i > sqrt(n))
return true;
else
return false;
}

int main()
{
cin >> N;
for(int i = 0; i < N; i++)
{
cin >> num;
if(isPrime(num))
cout << "Yes" << endl;
else
cout << "No" << endl;
}

return 0;
}