本题要求编写程序,判断一个给定的整数是否为素数。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。
输入格式:
输入在一行中给出一个需要判断的整数 M(−231≤M≤231−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 i,m;
scanf("%d",&m);
if(m<=0||m==1) printf("No");
else {
for(i=2;i<=sqrt(m);i++){ //m要开平方,不然会运行超时!最大的m会超过范围
if(m%i==0)
break;
}
if(i>sqrt(m)&&m!=1) //此处m也要开平方
printf("Yes");
else printf("No");
}
return 0;
}