51Nod_1106 质数检测
http://www.51nod.com/Challenge/Problem.html#!#problemId=1106
题目
给出N个正整数,检测每个数是否为质数。如果是,输出"Yes",否则输出"No"。
输入
第1行:一个数N,表示正整数的数量。(1 <= N <= 1000);第2 - N + 1行:每行1个数(2 <= S[i] <= 10^9)
输出
输出共N行,每行为 Yes 或 No。
样例输入
5
2
3
4
5
6
样例输出
Yes
Yes
No
Yes
No
分析
不用使用复杂的算法,只需用一个判断素数的函数即可
C++程序
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
bool is_prime(int num)
{
int i;
if(num==1) return false;
if(num==2) return true;
for(i=2;i*i<=num;i++) {
if(num%i==0) return false;
}
return true;
}
int main()
{
int n,num;
scanf("%d",&n);
while(n--) {
scanf("%d",&num);
if(is_prime(num)) printf("Yes\n");
else printf("No\n");
}
return 0;
}