| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2743 人关注过本帖
标题:用筛先法求出100以内的素数,
只看楼主 加入收藏
why908
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2007-11-6
收藏
 问题点数:0 回复次数:16 
用筛先法求出100以内的素数,
用筛先法求出100以内的素数,
怎么求呢,筛先法是什么意思啊
搜索更多相关主题的帖子: 素数 
2007-11-28 01:22
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
刷选

倚天照海花无数,流水高山心自知。
2007-11-28 08:59
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
大体就是,看看不是素数的就筛掉,是的选也来吧.
比如是2的倍数的都筛掉,3的倍数,5的,7的.......
最后剩的就是了.

2007-11-28 12:29
wzhgzj
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2007-9-6
收藏
得分:0 
我也在想了
不知道怎么搞书上的有错,
又不知道怎么搞。
郁闷哦、

命运在我手中
2007-11-28 15:42
zbqf109
Rank: 1
等 级:新手上路
帖 子:289
专家分:0
注 册:2006-12-31
收藏
得分:0 
原帖由 [bold][underline]wzhgzj[/underline][/bold] 于 2007-11-28 15:42 发表 [url=http://bbs.][/url]
不知道怎么搞书上的有错,
又不知道怎么搞。
郁闷哦、


把你的代码贴出来
2007-11-28 16:08
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
#include<stdio.h>
#include <stdlib.h>

bool ss[100];
int main(){
    for(int i=0;i<100;i++)ss[i]=true;
    for(int i=2;i<100;i++){
        if(!ss[i])continue;
        for(int j=i+1;j<100;j++)
            if(!(j%i))
                ss[j]=false;
    }
    for(int i=2;i<100;i++)
        if(ss[i])printf("%d,",i);
    getchar();
}

这个算筛法吗?……

专心编程………
飞燕算法初级群:3996098
我的Blog
2007-11-28 16:19
zbqf109
Rank: 1
等 级:新手上路
帖 子:289
专家分:0
注 册:2006-12-31
收藏
得分:0 
原帖由 [bold][underline]StarWing83[/underline][/bold] 于 2007-11-28 16:19 发表 [url=http://bbs.][/url]
#include
#include

bool ss[100];
int main(){
        for(int i=0;i


不算吧......
2007-11-28 16:38
柒兲
Rank: 1
等 级:新手上路
威 望:1
帖 子:126
专家分:0
注 册:2007-9-26
收藏
得分:0 
#include"iostream"
#include"iomanip"
#include"cmath"
using namespace std;
const n=100;
main()
{
   int a[n];
   int i,j;
   for(i=0;i<n;i++)  a[i]=1+i;//用数组保存1-100的整数
   a[0]=0;//1不是素数,所以设为0
   for(i=1;i<n;i++)
   {
       if(a[i]==0) continue;
       for(j=i+1;j<n;j++)  
           if(a[j]%a[i]==0)
               a[j]=0;//是a[i]倍数的元素设为0
   }
   int count=0;
   cout<<"1-"<<n<<"之间的素数:"<<endl;
   for(i=0;i<n;i++)
       if(a[i]!=0)
       {
           cout<<setw(6)<<a[i];
           count++;
           if(count%10==0)
               cout<<endl;
       }        
    cout<<endl;
}

2007-11-28 16:50
kidd2005
Rank: 1
等 级:新手上路
帖 子:193
专家分:0
注 册:2007-11-2
收藏
得分:0 
怎么筛选啊??像2本身就是素数,但一下就会当2的倍数筛了出来啦

潜心苦C,却发觉百C不得其解啊~
2007-11-28 16:50
zbqf109
Rank: 1
等 级:新手上路
帖 子:289
专家分:0
注 册:2006-12-31
收藏
得分:0 
原帖由 [bold][underline]柒兲[/underline][/bold] 于 2007-11-28 16:50 发表 [url=http://bbs.][/url]
#include"iostream"
#include"iomanip"
#include"cmath"
using namespace std;
const n=100;
main()
{
   int a[n];
   int i,j;
   for(i=0;i


这个和楼上的楼上的算法是一样的,也不能算是筛法吧......
2007-11-28 16:53
快速回复:用筛先法求出100以内的素数,
数据加载中...
 
   



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

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