标题:求助:用筛选取法求100之内的素数。
取消只看楼主
evanstacy
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2008-7-13
 问题点数:0 回复次数:2 
求助:用筛选取法求100之内的素数。
求助:用筛选取法求100之内的素数。
我的编程如下:
 #include<stdio.h>
#include<math.h>                             /*程序中用到求平方根函数sqrt*/
void main()
{
int i,j,n,a[101];                            /*定义a数组包含101个元素*/
for(i=1;i<=100;i++)                          /*a[0]不用,只用a[1]到a[100]*/
  a[i]=i;                                    /*使a[1]到a[100]的值为1到100*/
  a[1]=0;                                    /*先"挖掉"a[1]*/
  for(i=2;i<sqrt(100);i++)
    for(j=i+1;j<=100;j++)
       {
          if(a[j]%a[i]==0)
             a[j]=0;
            }

    for(i=1,n=0;i<=100;i++)
     {if(a[i]!=0)
       {printf("%5d",a[i]);
        n++;}
    if(n==10)
    {printf("\n");
    n=0;}
    }
    printf("\n");
}

运行的时候不行的,没有显示的,有哪位高手帮我看一下并指出错误阿,谢谢。
搜索更多相关主题的帖子: 素数 取法 筛选 
2008-07-25 12:00
evanstacy
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2008-7-13
得分:0 
回复 2# wangyinshiwo 的帖子
我想请问一下,那个a[i]和a[j]就是1到100之间的数来的阿,本来就不为0的阿.为什么还要加上 if(a[i]!=0&&a[j]!=0)这一行阿???

软件设计师 君羊:36405332
2008-07-27 02:11
evanstacy
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2008-7-13
得分:0 
按照2楼那位朋友说的加上if(a[i]!=0&&a[j]!=0)这一行是正确的,但是我不知道为什么要加上这一行,请能再指点一下我吗,谢谢!!!

软件设计师 君羊:36405332
2008-07-27 02:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-225182-1-1.html




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

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