L1-028 判断素数(PTA)
题目:
输入格式:
输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于2
31
的需要判断的正整数。
输出格式:
对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No。
输入样例:
2
11
111
输出样例:
Yes
No
代码:(C语言)
#include <stdio.h>
#include <math.h>
int main()
{
int num,n,i,flag=0; //flag用于标记是否是素数
scanf("%d",&n);
while(n--)
{
scanf("%d",&num);
if(num>1)
{
flag=1; //假设输入的正整数都是素数
}
for(i=2;i<=sqrt(num);i++) //sqrt函数:相当于数学中的根号 使用sqrt函数可以降低执行时间
{
if(num%i==0)
{
flag=0; //flag=0表示不是素数的情况
break;
}
}
if(flag==1||flag==2) //因为2也是素数
{printf("Yes\n");
}
else printf("No\n");
}
return 0;
}