A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

yangqi

中级黑马

  • 黑马币:10

  • 帖子:88

  • 精华:0

© yangqi 中级黑马   /  2016-1-11 16:16  /  741 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

楼主对于sqrt还是有些不懂的地方。
/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
     则表明此数不是素数,反之是素数。*/
#include "math.h"
main()
{
  int m,i,k,h=0,leap=1;
  printf("\n");
  for(m=101;m<=200;m++)
   { k=sqrt(m+1);
     for(i=2;i<=k;i++)
       if(m%i==0)
          {leap=0;break;}
       if(leap)    /*内循环结束后,leap依然为1,则m是素数*/
          {printf("%-4d",m);h++;
           if(h%10==0)
               printf("\n");
          }
     leap=1;
   }
  printf("\nThe total is %d",h);
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马