首页 > 代码库 > 2的29次方范围内的素数
2的29次方范围内的素数
今天隔壁室友让我帮他写一个晒素数的程序
我就写了一个 发现再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次方范围内的素数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。