素数筛选法
来源:互联网 发布:全员网络闯关赛 题库 编辑:程序博客网 时间:2024/06/06 00:47
原理:
2是素数,所以所有[1,n]内为2的倍数的数都不是素数,需要被筛掉。
3是素数,所以所有[1,n]内为3的倍数的数都不是素数,需要被筛掉。
以此类推。
时间复杂度:近似O(n)
代码:
#include <iostream>#include <cstring>using namespace std;const int MAXN = 10000;int num, n, prime[MAXN], is_prime[MAXN];void fun(){is_prime[1] = 0;for(int i = 2; i < n; i++){if(is_prime[i]){prime[num++] = i;}for(int j = 0; j < num && i * prime[j] < n; j++){is_prime[i*prime[j]] = 0;if(0 == i % prime[j]) break;}}}int main(){memset(is_prime, -1, sizeof(is_prime));num = 0; n = MAXN; fun();for(int i = 0; i < num; i++){cout << prime[i] << " ";}cout << endl;return 0;}
0 0
- 筛选法求素数
- 筛选法求素数
- 筛选法求素数
- Eratoshenes素数筛选法
- 素数--超强筛选法
- 素数筛选法
- 筛选法求素数
- 筛选法求素数
- 筛选法求素数
- 筛选法求素数
- 筛选法求素数
- 筛选法求素数
- 素数筛选法
- 素数筛选法2
- 筛选法求素数/
- 筛选法求素数
- 筛选法求素数
- 筛选法求素数
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
- Uva-10069 Distinct Subsequences DP
- 在Windows 2008 R2上设置基于AD的DNS
- iOS study Day 16-委托的实现
- 模块编写(转载)
- 素数筛选法
- Facebook COO桑德伯格
- C#——详析GetHashCode方法
- 杭电2567 寻梦
- java-----五子棋小游戏(一)-----背景图片制作
- vim在同一个窗口中同时编辑多个文件
- 第5周实验:GUI编程及JDK API的使用
- 黑马程序员_集合
- 第四周作业,图的表示