| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6446 人关注过本帖
标题:怎么用筛选法输出100之内的素数?
取消只看楼主 加入收藏
doofymark
Rank: 2
等 级:论坛游民
帖 子:14
专家分:10
注 册:2010-10-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
怎么用筛选法输出100之内的素数?
首先开头肯定是初始化一个数组,里面是整数1到100。
但是有一个问题我有点不明白。
就是关于筛选法的问题
如果我这样写的话
#include<iostream>
using namespace std;

int main()
{
    int a[100],i,j;
    for(i=0;i<100;i++)
    {a[i]=i+1;}
    for(i=0;i<100;i++)
      {  for(j=2;j<i+1;j++)
            {if(a[i]%j==0) cout<<a[i]<<endl;}}
return 0;}

这样写有一个问题...就是a[i]有可能不止输出一次....比如...a[44]=45,那么当j=5的时候a[44]输出...但是j=9的时候a[44]会再输出一次...
怎么解决这个问题啊?
搜索更多相关主题的帖子: 素数 筛选 输出 
2010-10-19 04:36
doofymark
Rank: 2
等 级:论坛游民
帖 子:14
专家分:10
注 册:2010-10-6
收藏
得分:0 
回复 3楼 xinyuan54
我明白了...if(i==j) cout<<a[i]<<endl;
这样只有j加到最后一项才会输出了...谢谢啦!
2010-10-20 06:21
doofymark
Rank: 2
等 级:论坛游民
帖 子:14
专家分:10
注 册:2010-10-6
收藏
得分:0 
回复 8楼 Tveiker
我明白了...只有b[i]==0的时候才会输出...所以a[i]只能输出一次...
谢谢啦!
2010-10-20 06:23
doofymark
Rank: 2
等 级:论坛游民
帖 子:14
专家分:10
注 册:2010-10-6
收藏
得分:0 
回复 9楼 pangding
大师啊...你这东西颇为有些深奥啊...小弟先收着...
对不起啊...实在是有点不知道这个玩意在说什么的感觉...
2010-10-20 06:25
快速回复:怎么用筛选法输出100之内的素数?
数据加载中...
 
   



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

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