51nod 1181 质数中的质数(质数筛法)
来源:互联网 发布:淘宝刷店铺流量 编辑:程序博客网 时间:2024/05/16 07:54
51nod 1181 质数中的质数(质数筛法)
非线性
#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <queue>#include <map>using namespace std;#define LL long long#define INF 0x3f3f3f3f#define PI acos(-1.0)#define E 2.71828#define MOD 100000000#define N 1001000int prime[N];void is_prime(){ memset(prime,0,sizeof(prime)); for(int i = 2; i <= N/2; i++) { if(prime[i] == 0) { for(int j = i+i; j < N; j += i) prime[j] = 1; } }}int main(){ int n; is_prime(); scanf("%d",&n); int cnt = 0; for(int i = 2; ; i++) { if(prime[i] == 0) { cnt++; if(i >= n && prime[cnt] == 0) { printf("%d\n",i); break; } } } return 0;}
这种方法会造成重复筛除合数,影响效率。
快速线性筛法
利用了每个合数必有一个最小素因子。每个合数仅被它的最小素因子筛去正好一次。所以为线性时间。
#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <queue>#include <map>using namespace std;#define LL long long#define INF 0x3f3f3f3f#define PI acos(-1.0)#define E 2.71828#define MOD 100000000#define N 1001000int id[N];int prime[N];void is_prime(){ int k = 0; memset(prime,0,sizeof(prime)); for(int i = 2; i < N; i++) { if(prime[i] == 0) id[k++] = i; for(int j = 0; j < k && id[j] * i < N; j++) { prime[i * id[j]] = 1; if(i % id[j] == 0) break; } }}int main(){ int n; is_prime(); scanf("%d",&n); int cnt = 0; for(int i = 2; ; i++) { if(prime[i] == 0) { cnt++; if(i >= n && prime[cnt] == 0) { printf("%d\n",i); break; } } } return 0;}
0 0
- 51Nod 1181-质数中的质数(质数筛法)
- 51nod 1181 质数中的质数(质数筛法)
- 51nod 1181 质数中的质数(质数筛法)
- 51 nod 1181 质数中的质数(质数筛法)
- 51nod--1181 质数中的质数(质数筛法)
- 51nod 1181 质数中的质数(质数筛法)
- 51nod-【1181 质数中的质数(质数筛法)】
- 51nod 1181 质数中的质数(质数筛法)
- 51nod 1181 . 质数中的质数(质数筛法)
- 51nod:1181 质数中的质数(质数筛法)
- 51Nod 1181 质数中的质数(质数筛法)
- 【51Nod】1181 质数中的质数(质数筛法)
- 51Nod-1181-质数中的质数(质数筛法)
- 51Nod 1181: 质数中的质数(质数筛法)
- 51NOD 1181 质数中的质数(质数筛法)
- 51nod 1181 质数中的质数(质数筛法)
- 51 Nod 1181 质数中的质数(质数筛法)
- 51nod 1181 质数中的质数(质数筛法)
- 从程序员到项目经理,没有捷径可走
- BZOJ2090/2089 [Poi2010]Monotonicity 2/Monotonicity
- 微信开发调用第三方接口post数据,获取查询结果
- Crazy Search(hash)
- xgboost入门与实战(原理篇)
- 51nod 1181 质数中的质数(质数筛法)
- android自动提示框AutoCompleteTextView和MultiAutoCompleteTextView
- Elasticsearch分页查询
- gdb调试出现<optimized out>解决方法
- 【NOIP2012模拟10.20】友好数对
- Linux是什么
- MyEclipse10 JNDI的使用及配置
- 受欢迎的5个ORM
- POJ 1258