朴素版筛选质数 时间复杂度O(nlogn) int primes[N], cnt; // primes[]存储所有素数 bool st[N]; // st[x]存储x是否被筛掉 void get_primes(int n) { for (int i = 2; i <= n; i ++ ) { if ...
写在前面 记录了个人的学习过程,同时方便复习 素数的线性筛法 素数的线性筛法 有时候需要筛出来一张素数表,即1~n范围内的所有素数 一个个枚举判断是否为素数显然太慢 于是经过仔细的研究之后,发现如果存在正整数k(k>2)不是素数,那么它的因子里面一定包含之前的素数 这样的话,开一个boolean数组 ...
分类:
其他好文 时间:
2018-12-16 18:08:35
阅读次数:
120
判断模板 http://blog.csdn.net/lerenceray/article/details/12420725 http://www.bubuko.com/infodetail-837565.html 我们先来看一下最经典的埃拉特斯特尼筛法。时间复杂度为O(n loglog n) 显然, ...
分类:
其他好文 时间:
2018-04-14 15:26:10
阅读次数:
180
数论的根基,素数 ======================= 写在前面 :之前的老板子。 首先贴一个线性筛。O(n) include include include using namespace std; const int N = 100000 + 5; bool prime[N]; int ...
分类:
其他好文 时间:
2018-04-13 17:55:18
阅读次数:
162
素数的判定与筛法 判定:很简单嘛!暴力大法参上! (不相信从来不刷水的我竟然做了这样的题……) 这就是传说中的O(根号N)大暴力…… 那么还有个算法叫Miller-rabin…… 那么我们来介绍一下这是个什么东西: 首先让我们了解这几个概念: 费马小定理:对于素数p和任意整数a,有ap ≡ a(mo ...
分类:
其他好文 时间:
2016-11-27 06:50:07
阅读次数:
201
素数的判定与筛法 判定:很简单嘛!暴力大法参上! (不相信从来不刷水的我竟然做了这样的题……) 这就是传说中的O(根号N)大暴力…… 那么还有个算法叫Miller-rabin…… 那么我们来介绍一下这是个什么东西: 首先让我们了解这几个概念: 费马小定理:对于素数p和任意整数a,有ap ≡ a(mo ...
分类:
其他好文 时间:
2016-10-07 01:19:55
阅读次数:
156
= =素数是一个很重要的块,所以筛法也是灰常重要的 首先 是传统筛法 第一版: ps:其实我个人感觉这个算法平常的一些题是够用的( ̄ε(# ̄)☆╰╮( ̄▽ ̄///)(快学习! 第二版: 相比于第一版,先去除了2以后的偶数,因为这些偶数根本不可能是素数嘛(~ ̄▽ ̄)~,( ̄ε(# ̄)☆╰(废话 嗯,容 ...
分类:
其他好文 时间:
2016-04-16 12:22:57
阅读次数:
162
埃式筛法:给定一个正整数n(nusing namespace std;bool pri[1000000+10];bool ispri[10000000+10];//ispri[i-a]=true代表i是素数void getpri(){ memset(pri,true,sizeof(pri));...
分类:
其他好文 时间:
2016-01-25 16:55:43
阅读次数:
179
我们先来看一下最经典的埃拉特斯特尼筛法。时间复杂度为O(n loglog n)
int ans[MAXN];
void Prime(int n)
{
int cnt=0;
memset(prime,1,sizeof(prime));
prime[0]=prime[1]=0;
for(int i=2;i<n;i++)
{
if(vis[i])
{
ans[cnt++]=...
分类:
其他好文 时间:
2015-05-30 09:24:54
阅读次数:
277
参考博客:http://blog.csdn.net/niushuai666/article/details/7346408收获:线性素数筛法、素数分解法公式博客:http://www.cnblogs.com/baidongtan/archive/2012/08/30/2663015.html还有关于...
分类:
其他好文 时间:
2015-02-03 12:35:21
阅读次数:
210