更新时间2018-03-06 19:57:44
#include<stdio.h>
#include<math.h>
int main()
{
int i,num,k;
printf("输入一个数:");
scanf("%d",&num);
k=(int)sqrt(num);
for(i=2;i<=k;i++)
{if(num%i==0)
break;}
if(i>k)
printf("%d is a prime number ",num);
return 0;
}
你的循环条件是i<=k
也就是说,循环结束后
当i>k是正常循环结束
而若i<=k是用break退出的
数学上可以证明,只要一个数.不能被从2到它的开方整除,它就是素数
若是正常循环结束,说明该数就是素数