判断素数求告知错误处

求告知错误处

img

img

#include <stdio.h>
int main()
{
int m, i, k = 0;
scanf("%d", &m);
for (i = 1; i <= m; i++)
{
if (m % i == 0)
{
k++;
}
}
if (k == 2)
{
printf("YES\n");
}
else
{
printf("NO\n");
}
return 0;
}

任何数 除以 1 和 自身,都可以整除的,素数判断条件错了,修改如下,供参考:

#include<stdio.h>
int main()
{
    int m,i,flg=1;
    scanf("%d",&m);
    for(i=2;i<m;i++)
    {
        if(m%i == 0)
        {
            flg = 0;
            break;
        }
    }
    if(flg && m != 1)
        printf("YES\n");
    else
        printf("NO\n");

    return 0;
}