素数筛法
来源:互联网 发布:有声自动阅读软件 编辑:程序博客网 时间:2024/06/16 22:34
原理是为寻找范围内的全部数字设一个标记,标记两种状态,这个数是素数和不是素数,初始化为都是素数,因为可以用memset函数快速初始化为0,可以让0代表是素数,1代表不是素数,每找到一个新的素数就将这个素数的全部的倍数的标记设置为1,在之后的寻找中如果标记为1就跳过,不是的话就是下一个要找的素数,然后循环直到末尾。
时间复杂度为O(nlogn)。
#include<iostream>#include<cstring>#include<vector>using namespace std;const long long MaxN=1000000;bool flag[MaxN];vector<long long> all;void prime(){ memset(flag,0,sizeof(flag)); for(long long i=2;i<MaxN;i++)if(!flag[i]){ all.push_back(i); for(long long j=i*i;j<MaxN;j+=i)flag[j]=true; }}int main(){ prime(); for(int i=0;i<all.size();i++)cout<<all[i]<<endl;}
阅读全文
0 0
- 又见素数(素数筛法)
- nyoj 26 孪生素数 素数筛法
- HDU 4548 美素数 // 素数筛法
- 素数判断和素数筛法
- 素数筛法-----》大规模的判断素数
- 素数筛(筛选法求素数)
- 素数筛选法(素数筛)
- 森德拉姆素数筛法
- 素数筛法
- 素数筛法
- 筛法素数表
- 筛素数法
- POJ2262 素数筛法
- POJ3306 素数筛法
- 素数筛法
- 素数筛法
- 素数筛法
- 【数学】素数筛法
- ubuntu16.04下载安装pcl点云库
- 详解clientHeight、offsetHeight、scrollHeight
- Android模拟器Genymotion使用详解
- Android studio 自定义view 画圆
- 20170927钢铁板块选中的个股
- 素数筛法
- explicit 隐式类类型转换
- 魅族手机测试时报Installation failed with message INSTALL_FAILED_USER_RESTRICTED错误的解决方法
- 手写栈
- 134. Gas Station
- 存放log 追踪文件到sdcard
- 【面试题】寻找单身狗
- leetcode 50 值得再看一遍
- 实验室设备微信公众号预约系统