随笔 - 62  文章 - 96  trackbacks - 0
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用链接

留言簿(7)

随笔分类(66)

随笔档案(62)

文章分类(31)

文章档案(32)

友情链接

最新随笔

积分与排名

  • 积分 - 233245
  • 排名 - 107

最新评论

阅读排行榜

评论排行榜

#include<iostream>
using namespace std;
const int MAXV = 10000//素数表范围
bool flag[MAXV
+1]; //标志一个数是否为素数
int prime[MAXV+1]; //素数表,下标从0开始
int size; //素数个数
void genPrime(
int max)
{
    memset(flag, 
true, sizeof(flag));
    
for(int i = 2; i <= max / 2; i++)
    {
        
if(flag[i])
        {
            
for(int j = i << 1 ; j <= max; j += i)
            {
                flag[j] 
= false;
            }
        }
    }
    
for(int i = 2 ; i <= max; i++)
    {
        
if(flag[i])
        {
            prime[size
++= i;
        }
    }
}
int main()
{
    genPrime(MAXV);
    return 
0;
}
posted on 2007-05-18 16:13 beyonlin 阅读(2623) 评论(2)  编辑 收藏 引用 所属分类: acm之路

FeedBack:
# re: 筛法求素数 2010-06-18 14:43 陈归雨
好像编译不出来啊~~用的编译器是VC,博主可以向我这个菜鸟说明下原因吗?谢谢!  回复  更多评论
  
# re: 筛法求素数 2010-06-30 14:07 beyonlin
@陈归雨
贴出编译结果来。  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理