首页 > 其他 > 详细

2的29次方范围内的素数

时间:2014-11-30 23:17:11      阅读:410      评论:0      收藏:0      [点我收藏+]

今天隔壁室友让我帮他写一个晒素数的程序

我就写了一个  发现再int范围内的素数筛不出来,,,,

电脑只能跑到 2的29;

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <map>
#include <iostream>
#include <time.h>
using namespace std;
typedef long long ll;
bool is_prime[1<<30];
int  prime[1<<28];
int cnt;
void cost_time()
{
    cout<<"调用该程序所花费的时间为:"<<clock()/CLOCKS_PER_SEC<<"秒\n";
    cout<<"调用该程序所花费的时间为:"<<clock()<<"毫秒\n";
}
void init(){
	cnt = 0;
	for(int  i=0;i<(1<<29);i++)
	is_prime[i]=1;
		is_prime[0]=is_prime[1]=0;
		for(int  i=2;i<(1<<29);i++){
			if(is_prime[i])
			{
				prime[cnt++]=i;
				for(int  j=i*2;j<(1<<29);j+=i)
					is_prime[j]=0;
			}
		}
}
int main(){
	freopen("prime.txt","w",stdout);
	init();
	printf("%d\n",cnt);
	for(int i=0;i<cnt;i++)
		{
			printf("%d ",prime[i]);
			if(i%6==0)
			printf("\n");
		}
		cost_time();
}

 

2的29次方范围内的素数

原文:http://blog.csdn.net/u013076044/article/details/41629957

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!