能详细解释下这个c语言式子吗??

来源:百度知道 编辑:UC知道 时间:2024/06/28 07:56:31
特别是平方根使用的原理
还有leap值的设定。
#include "math.h"
main()
{
int m,i,k,h=0,leap=1;
printf("\n");
for(m=2;m<=1000;m++)
{ k=sqrt(m+1);
for(i=2;i<=k;i++)
if(m%i==0)
{leap=0;break;}
if(leap) {printf("%-4d",m);h++; //输出素数
if(h%10==0)
printf("\n");
}
leap=1;
}
printf("\nThe total is %d",h); //输出素数总个数
}
谢谢 刚才给忘了

#include "math.h"
#include"stdio.h"
main()
{
int m,i,k,h=0,leap=1;//定义变量
printf("\n"); //换行,一般格式便于看结果,可以去掉
for(m=2;m<=1000;m++) //循环从2开始,到1000结束
{ k=sqrt(m+1); //k是m+1开方取整
for(i=2;i<=k;i++) //循环从2开始,到k结束
if(m%i==0) //如果m有因子i,leap=0,计算m+1
{leap=0;break;}
if(leap) {printf("%-4d",m);h++; //m没有2到k的因子,则m是素数,输出
if(h%10==0) //每行满10个数则换行
printf("\n");
}
leap=1; //处理完m,leap重新赋值为1
}
printf("\nThe total is %d",h); //输出素数总个数
}
原理是如果从2到m+1的开方中的任意一个数是m的因子,则m不是素数,否则是素数,输出.使用平方根可以加快运算速度.

能详细解释下这个c语言式子吗??

什么问题啊??