| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 557 人关注过本帖
标题:[求助]解读程序,不是很明白
只看楼主 加入收藏
huzi00008
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2006-10-9
收藏
 问题点数:0 回复次数:4 
[求助]解读程序,不是很明白
这是资料中求素数的程序:
#include "math.h"
main()
{
 int m,i,k,h=0,leap=1;
 printf("\n");
 for(m=101;m<=200;m++)
  { k=sqrt(m+1); //此处为何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);
}
搜索更多相关主题的帖子: 素数 leap printf 
2006-10-25 16:12
neu_cnlj
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-5-16
收藏
得分:0 
以下是引用huzi00008在2006-10-25 16:12:18的发言:
这是资料中求素数的程序:
#include "math.h"
main()
{
 int m,i,k,h=0,leap=1;
 printf("\n");
 for(m=101;m<=200;m++)
  { k=sqrt(m+1); //此处为何m+1??
其实它的作用是为了下面的循环次数的,求素数的算法都是用一个数去除以从2到它开根号数为止,都不能整除就说明该数是素数。
   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;///就更不明白了
这里说明用leap做了一个标记,如果是素数leap就置1(然后输出)否则就置0.
  }
 printf("\nThe total is %d",h);
}

2006-10-25 16:24
longerhe
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2006-10-10
收藏
得分:0 
以下是引用huzi00008在2006-10-25 16:12:18的发言:
这是资料中求素数的程序:(首先应该知道:如果一个数用2到这个数的平方根去除,都除不尽的就是素数...
#include "math.h"
main()
{
 int m,i,k,h=0,leap=1;
 printf("\n");
 for(m=101;m<=200;m++)
  { k=sqrt(m+1); //此处为何m+1??为了用开方后大于其直接开方的数去除M...保证结果正确...
   for(i=2;i<=k;i++) //此处的循环为何种用途?自身是什么意思,我??用来控制除数,用2至sqrt(m+1)之间的数去除i
     if(m%i==0) ///????如果这些除数之中有一个能整除m的,那么m就不是素数了,标志leap就等于0...退出一个循环...
      {leap=0;break;}
   if(leap) {printf("%-4d",m);h++;
        if(h%10==0)
        printf("\n");
        }
   leap=1;///就更不明白了如果不能整除的就设置leap=1。。。上面如果leap不为0就将m打印出来,打每打印十个
  }
 printf("\nThe total is %d",h);
}

2006-10-25 16:32
huzi00008
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2006-10-9
收藏
得分:0 

还有问题是编译不过,不知道是怎么回事。我用的是dev-c++的编译器。我回头在linux下用gcc编译看看。


2006-10-25 17:34
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
LZ怎样了解这程序,可以写出你的理解。

谁有强殖装甲第二部,可以Q我460054868
2006-10-25 17:44
快速回复:[求助]解读程序,不是很明白
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020740 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved