给出N个正整数,检测每个数是否为质数。如果是,输出"Yes",否则输出"No"。
Input第1行:一个数N,表示正整数的数量。(1 <= N <= 1000)
第2 - N + 1行:每行1个数(2 <= S ii <= 10^9)Output输出共N行,每行为 Yes 或 No。Sample Input
#include <cstdio>
#include <cmath>
bool isprime(int n)//判断是否是质数
{
if(n<=1)return false;
int sqr=(int)sqrt(1.0*n);
for(int i=2;i<=sqr;i++)//开根不开跟结果一样,但能减少时间
{
if(n%i==0)
return false;
}
return true;
}
int main() {
int a,n;
scanf("%d",&n);
while(n--)
{
scanf("%d",&a);
if( isprime(a))
printf("Yes\n");
else
printf("No\n");
}
return 0;
}
第2 - N + 1行:每行1个数(2 <= S ii <= 10^9)Output输出共N行,每行为 Yes 或 No。Sample Input
5 2 3 4 5 6Sample Output
Yes Yes No Yes No#include <iostream>
#include <cstdio>
#include <cmath>
bool isprime(int n)//判断是否是质数
{
if(n<=1)return false;
int sqr=(int)sqrt(1.0*n);
for(int i=2;i<=sqr;i++)//开根不开跟结果一样,但能减少时间
{
if(n%i==0)
return false;
}
return true;
}
int main() {
int a,n;
scanf("%d",&n);
while(n--)
{
scanf("%d",&a);
if( isprime(a))
printf("Yes\n");
else
printf("No\n");
}
return 0;
}