#include
#include
int is_primer(int n)
{
int i;
if(n==2)
return 1;
if(n==1)
return 0;
if(n>2)
{
for (i=2;i{
if(n%i==0)
return 0; //else
//return 1;
}
;
}
return 1;
}
int main()
{
int num;
while(scanf("%d", &num) != EOF)
{
if(is_primer(num))
puts("YES"); else
puts("NO");
}
return 0;
}
问题在: 你的 for 循环只执行了一次就返回了,所以逻辑错误。
注意:return 会造成子函数结束。