首页 > 电脑

各位c语言大神能告诉我为什么i>k就能说明它是素数,不是前面for循环ik了?

更新时间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到它的开方整除,它就是素数

若是正常循环结束,说明该数就是素数


相关标签:大神c语言

上一篇:2模数直径40,长60单头蜗杆怎么编程

下一篇:易语言打不开这个您知道怎么修改里面的内容吗比如文字