【杂文】5亿大质数表(5e8)
【杂文】5亿大质数表(5e8)
在写哈希,刷数论题时曾一度想要查质数,\(F**k\) 百度文库数据又少,翻页蛋疼,还不给复制,真的是服了。
于是在我闲的蛋疼的时候就搞了个质数表出来。。。。
下载链接:这是一个链接 \(QAQ\) \((bj1b)\)
话不多说,先上代码。
........
噢,不,我还有要说的话。
为了加速,搞了一大堆头文件优化,代码采用的是线筛,共花了 \(78.226\) \(s\) ,比我想象的要慢些。
表格刷了 \(5\) 亿以内的所有质数,再往上就因内存过大而报错了,没办法,只有这么多了。。
输出来的 \(txt\) 文本文件刚好 \(250Mb\) ,好衰啊T_T。。。。
\(updata(2019.12.15):\) 突然意识到没用快读,怪不得这么慢QAQ(改进后只花了 \(26.166\) \(s\))。
#pragma GCC diagnostic error "-std=c++11"
#pragma GCC target("avx")
#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")
#pragma GCC optimize("Ofast")
#pragma GCC optimize("inline")
#pragma GCC optimize("-fgcse")
#pragma GCC optimize("-fgcse-lm")
#pragma GCC optimize("-fipa-sra")
#pragma GCC optimize("-ftree-pre")
#pragma GCC optimize("-ftree-vrp")
#pragma GCC optimize("-fpeephole2")
#pragma GCC optimize("-ffast-math")
#pragma GCC optimize("-fsched-spec")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("-falign-jumps")
#pragma GCC optimize("-falign-loops")
#pragma GCC optimize("-falign-labels")
#pragma GCC optimize("-fdevirtualize")
#pragma GCC optimize("-fcaller-saves")
#pragma GCC optimize("-fcrossjumping")
#pragma GCC optimize("-fthread-jumps")
#pragma GCC optimize("-funroll-loops")
#pragma GCC optimize("-fwhole-program")
#pragma GCC optimize("-freorder-blocks")
#pragma GCC optimize("-fschedule-insns")
#pragma GCC optimize("inline-functions")
#pragma GCC optimize("-ftree-tail-merge")
#pragma GCC optimize("-fschedule-insns2")
#pragma GCC optimize("-fstrict-aliasing")
#pragma GCC optimize("-fstrict-overflow")
#pragma GCC optimize("-falign-functions")
#pragma GCC optimize("-fcse-skip-blocks")
#pragma GCC optimize("-fcse-follow-jumps")
#pragma GCC optimize("-fsched-interblock")
#pragma GCC optimize("-fpartial-inlining")
#pragma GCC optimize("no-stack-protector")
#pragma GCC optimize("-freorder-functions")
#pragma GCC optimize("-findirect-inlining")
#pragma GCC optimize("-fhoist-adjacent-loads")
#pragma GCC optimize("-frerun-cse-after-loop")
#pragma GCC optimize("inline-small-functions")
#pragma GCC optimize("-finline-small-functions")
#pragma GCC optimize("-ftree-switch-conversion")
#pragma GCC optimize("-foptimize-sibling-calls")
#pragma GCC optimize("-fexpensive-optimizations")
#pragma GCC optimize("-funsafe-loop-optimizations")
#pragma GCC optimize("inline-functions-called-once")
#pragma GCC optimize("-fdelete-null-pointer-checks")
#include<cstdio>
#include<ctime>
#define Re register int
const int N=5e8;
int cnt,pri[N/3];bool pan[N+1];
inline void get_pri(){
    for(Re i=2;i<=N;++i){
        if(!pan[i])pri[++cnt]=i;
        for(Re j=1;j<=cnt&&i*pri[j]<=N;++j){
            pan[i*pri[j]]=1;
            if(i%pri[j]==0)break;
        }
    }
}
inline void print(Re x){if(x>9)print(x/10);putchar('0'+x-x/10*10);}
int main(){
    freopen("5e8大质数表(5亿).txt","w",stdout);
    get_pri();
    for(Re j=0,i=1;i<=cnt;++i){
        if(j++>8)puts(""),j=0;
        print(pri[i]),putchar(' ');
    }
    printf("\nTime: %lf s\n",(double)clock()/(double)CLOCKS_PER_SEC);
}
												
											【杂文】5亿大质数表(5e8)的更多相关文章
- 洛谷 P1072 Hankson 的趣味题 || 打质数表的分解质因数
		
方法就是枚举,根据b0和b1可以大大减小枚举范围,方法类似这个http://blog.csdn.net/hehe_54321/article/details/76021615 将b0和b1都分解质因数 ...
 - MySQL 上亿大表优化实践
		
目录 背景 分析 select xxx_record语句 delete xxx_record语句 测试 实施 索引优化后 delete大表优化为小批量删除 总结 背景 XX实例(一主一从)xxx告警中 ...
 - Jam's math problem(思维)
		
Jam's math problem Submit Status Practice HDU 5615 Description Jam has a math problem. He just lea ...
 - 关于素数表-C++
		
废话不多说,先贴代码: #include <iostream> using namespace std; bool is_prime(int n) { || n == ) return f ...
 - [转载] 散列表(Hash Table)从理论到实用(上)
		
转载自:白话算法(6) 散列表(Hash Table)从理论到实用(上) 处理实际问题的一般数学方法是,首先提炼出问题的本质元素,然后把它看作一个比现实无限宽广的可能性系统,这个系统中的实质关系可以通 ...
 - c经典算法
		
1. 河内之塔 说明 河内之塔(Towers of Hanoi)是法国人M.Claus(Lucas)于1883年从泰国带至法国的,河内为越战时 北越的首都,即现在的胡志明市:1883年法国数学家 Ed ...
 - 白话算法(6) 散列表(Hash Table)从理论到实用(上)
		
处理实际问题的一般数学方法是,首先提炼出问题的本质元素,然后把它看作一个比现实无限宽广的可能性系统,这个系统中的实质关系可以通过一般化的推理来论证理解,并可归纳成一般公式,而这个一般公式适用于任何特殊 ...
 - Java经典算法大全
		
1.河内之塔.. 2.Algorithm Gossip: 费式数列. 3. 巴斯卡三角形 4.Algorithm Gossip: 三色棋 5.Algorithm Gossip: 老鼠走迷官(一) 6. ...
 - 莫比乌斯反演&各种筛法
		
不学莫反,不学狄卷,就不能叫学过数论 事实上大概也不是没学过吧,其实上赛季头一个月我就在学这东西,然鹅当时感觉没学透,连杜教筛复杂度都不会证明,所以现在只好重新来学一遍了(/wq 真·实现了水平的负增 ...
 
随机推荐
- React & search & keyboard ghost
			
React & search & keyboard ghost DOM events https://www.w3schools.com/jsref/dom_obj_event.asp ...
 - [luoguP3390]【模板】矩阵快速幂
			
传送门 模板不解释. ——代码 #include <cstdio> #include <cstring> #define LL long long int n; LL k; ; ...
 - bzoj4504 k个串 kstring 可持久化线段树 (标记永久化)
			
[fjwc2015]k个串 kstring [题目描述] 兔子们在玩k个串的游戏.首先,它们拿出了一个长度为n的数字序列,选出其中的一个连续子串,然后统计其子串中所有数字之和(注意这里重复出现的数字只 ...
 - Aizu - 0558 Cheese (bfs)
			
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=49879 在H * W的地图上有N个奶酪工厂,分别生产硬度为1-N的奶酪.有一 ...
 - spring mvc 访问静态资源404
			
访问比如css js出现404提示 在spring的配置文件中加上如下代码即可 <!-- 静态资源404 --> <mvc:resources location="/res ...
 - 条款十五: 让operator=返回*this的引用
			
c++程序员经常犯的一个错误是让operator=返回void,这好象没什么不合理的,但它妨碍了连续(链式)赋值操作,所以不要这样做. 一般情况下几乎总要遵循operator=输入和返回的都是类对象的 ...
 - Elasticsearch学习系列之mapping映射
			
什么是映射 为了能够把日期字段处理成日期,把数字字段处理成数字,把字符串字段处理成全文本(Full-text)或精确(Exact-value)的字符串值,Elasticsearch需要知道每个字段里面 ...
 - Creating A Simple Web Server With Golang
			
原文:https://tutorialedge.net/post/golang/creating-simple-web-server-with-golang/ -------------------- ...
 - start-all.sh 启动时报错解决方案
			
文件拥有者不是当前用户,或者文件权限没有修改权限 解决方法: sudo chmod 777 "文件名" 或者用 su root 登录,然后删除 再 exit Datanote服 ...
 - lua遍历目录
			
require"lfs" function findindir (path, wefind, r_table, intofolder) for file in lfs.dir(pa ...