对码当歌,猿生几何?

7-4 判断素数 (10 分)

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

输入格式:

输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于231的需要判断的正整数。

输出格式:

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

输入样例:

2
11
111

输出样例:

Yes
No

代码如下:

 

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int N;
	cin >> N;
	while (N--)
	{
		int p,flag=0;
		cin >> p;
		if (p == 1)flag = 1;
		for (int i = 2; i <= sqrt(p); i++)
		{
			if (p % i == 0)
			{
				flag = 1;
				break;
			}
		}
		!flag?cout << "Yes" << endl:cout << "No" << endl;
	}
	return 0;
}