#include<stdio.h>
void main()
{
int n;
int m=0;
scanf_s("%d", &n);
int i = n-1;
for (;i > 1;i--)
{
if (n % i == 0)
{
m++;
}
}
if (m == 1)
{
printf("不是素数");
}
else
{
printf("是素数");
}
}
当我输入10的时候会判断素数,输入3和5都会判断是素数,我是哪里写错了呢
把 m==1 改成 m>0 就行了。 或者 在m++ 这句后面加上 break
因为n % i == 0 这句 ,例如10 在i=2 ,5的时候都是执行了,m=2,你下面判断==1,肯定是不匹配了