#include
int isPrime(int x){
int i;
if(x>3)
for(i=2;i<=x/2+1;i++)
if(x%i==0) return 0;
return 1;
}
int main(){
int m;
printf("Input Number:");
scanf("%d",&m);
if(isPrime(m))
printf("%d is a Prime number\n",m);
else
printf("%d is not a Prime number\n",m);
return 0;
}
调试过了,可行的、优化后的代码
for (i = 2; i <= x - 1; i++)
{
if (x % i == 0)
return 0;
}
return 1;
IsPrime最后的for循环改成上面这样
循环的判断时,一个不能整除就返回1了——————要等循环结束,才知道是否最终能整除。
~