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