训练1-S
给出N个正整数,检测每个数是否为质数。如果是,输出"Yes",否则输出"No"。
Input
Input
第1行:一个数N,表示正整数的数量。(1 <= N <= 1000)
第2 - N + 1行:每行1个数(2 <= Si <= 10^9)
第2 - N + 1行:每行1个数(2 <= Si <= 10^9)
Output
输出共N行,每行为 Yes 或 No。
Sample Input
5 2 3 4 5 6Sample Output
Yes Yes No Yes No
#include<stdio.h>
#include<math.h>
int main()
{
int sushu(long n);
int t;
scanf("%d",&t);
while(t--)
{
long n,i; //数字较大,定义为长整型,
scanf("%ld",&n);
if(sushu(n))
printf("YES\n");
else
printf("NO\n");
}
}
int sushu(long n) //判断是否是素数
{
long i;
for(i=2;i<=sqrt(n);i++)
if(n%i==0) //如果能被整除,返回0,函数调用结束
return 0;
return 1; //只会返回一个值,如果上句没有执行,证明是素数,返回1
}
...