7-7 判断一个整数是否为素数 (15 分)
本题要求编写程序,判断一个给定的整数是否为素数。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。
输入格式:
输入在一行中给出一个需要判断的整数 M(−2e31≤M≤2e31 −1)。
输出格式:
如果M是素数,则在一行中输出Yes,否则输出No。如果输入了非正整数,也要输出No。
输入样例1:
11
输出样例1:
Yes
输入样例2:
9
输出样例2:
No
输入样例3:
-2
输出样例3:
No
程序清单:
#include<stdio.h>
#include<math.h>
int main()
{
int a,n=2,k=1;float limit;
scanf("%d",&a);
limit=sqrt(a);
if(a<=0||a==1){k=0;printf("No");}
else
{while(n<=limit)
{
if(a%n==0)
{
k=0;printf("No");
break;
}
n++;
}
}
if(k==1){printf("Yes");}
}