C语言:为什么要这样求素数啊?

来源:百度知道 编辑:UC知道 时间:2024/06/09 11:06:38
#include<stdio.h>
main()
{int i=0,n=0;

for(n=101;n<=260;n++)
{for(i=2;i<=(n-1);i++)
if(n%i==0) break;
if(i>n-1)
printf("%d\n",n);
}
}

if(i>n-1)是在判断什么呢?

if(i>n-1)判断是否依次除完
比如说4 到i=2时if(n%i==0) break;将会跳出 这时i=2 在做那个判断 显然不成立
不如说5 只有到i知道为5是结束循环 所以if(i>n-1)判断出 5不能被其他书整除 所以啊 就是素数了

i>(n-1),此时i的值就是n,所以次数输出的n就是素数!