循环求素数,有处赋值不理解,希望有朋友能教下我!
#include"math.h"#include"stdio.h"
void main()
{
int m,i,k,n=0; //定义初值,4个整型,且n赋值为0
for(m=101;m<200;m=m+2) //for循环,从100到200之间求素数.
{
k=sqrt(m); //求根
for(i=2;i<=k;i++) //进行赋值,并进入for循环,且i循环出所求数所有质数.
if(m%i==0) break; //能整除,那么这个数一定不是素数,所以跳出。
if(i>=k+1) // 问题在此!, 为什么i的值能够大于k+1,.前面已经for循环提出,
{ // i的值最大是小于等于k的.
printf("%4d",m);
n=n+1;
}
if(n%10==0)
printf("\n");
}
printf("\n");
}