一般筛法求素数代码

思路:素数的倍数不是素数。

#include<iostream>
using namespace std;
const int M = 2000000;
int a[M] = {1,1};
int prime[M]={0};
int k=0;
void init()
{for(int i=2;i<=M;i++){if(!a[i]){prime[k++] = i;for(int j=i+i;j<=M;j+=i)a[j]= 1;}}
}
int main()
{int n;while(cin>>n){for(int i=0;i<n;i++)cout<<prime[i]<<" ";cout<<endl;}
}

快速线性筛法

原理:1.一个合数是由n个素数的乘积所组成的

2.素数的倍数不是素数。

建议无论手模拟一个两个过程 就明白谁原理和优势了。

#include<iostream>
using namespace std;const int Max=2000000;
long long prime[Max] = {0};
int k=0;
int a[Max]={1,1};void init()
{for(long long i=2;i<Max;i++){if(!a[i])//prime[k++] = i;for(long long j=0;j<k&&i*prime[j]<Max;j++){a[i*prime[j]] = 1;if(i%prime[j]==0)//break;}}
}int main()
{int n;init();while(cin>>n){for(int i=0;i<n;i++)cout<<prime[i]<<" ";cout<<endl;}
}

推荐:http://blog.csdn.net/dinosoft/article/details/5829550

快速线性筛法求素数一般筛法求素数代码相关推荐

  1. 一般筛法求素数+快速线性筛法求素数

    一般筛法求素数+快速线性筛法求素数 标签: 正则表达式算法优化扩展c 2010-08-22 01:28 28738人阅读 评论(8) 收藏 举报  分类: 算法学习资料(5)  版权声明:本文为博主原 ...

  2. 一般筛法和快速线性筛法求素数 求素数的一点总结

    素数总是一个比较常涉及到的内容,掌握求素数的方法是一项基本功. 基本原则就是题目如果只需要判断少量数字是否为素数,直接枚举因子2 ..N^(0.5) ,看看能否整除N. 如果需要判断的次数较多,则先用 ...

  3. 求素数: 一般线性筛法 + 快速线性筛法

    From: http://blog.csdn.net/dinosoft/article/details/5829550 素数总是一个比较常涉及到的内容,掌握求素数的方法是一项基本功. 基本原则就是题目 ...

  4. 线性筛法求素数c语言,[算法]素数筛法(埃氏筛法线性筛法)

    一.素数筛的定义 给定一个整数n,求出[1,n]之间的所有质数(素数),这样的问题为素数筛(素数的筛选问题). 二.埃氏筛法(Eratosthenes筛法) 埃氏筛法又叫做Eratosthenes筛法 ...

  5. 线性O(N)时间复杂度求素数 , 筛法

    线性O(N)时间复杂度求素数 , 筛法 1 /* 2 线性时间求出1-N 的素数 , 时间复杂度为O( N) : 3 一个合数可以表示成若干个素数的积 4 比如说 i = 6 =2 * 3 , A = ...

  6. 数论 判断素数:普通素数判别 线性筛 二次筛法求素数 米勒拉宾素数检验

    普通的素数判断法 当我们要判断一个数字是否是素数的时候,往往会直接看这个数字模1到这个数字的根号,看有没有等于零的,从而判断这个数字是不是素数,这样做的时间复杂度为O(sqrt(n)) bool is ...

  7. 快速求素数表——埃氏筛法与欧拉筛法

    快速求素数表--埃氏筛法与欧拉筛法 快速求素数表埃氏筛法与欧拉筛法 埃氏筛法 埃氏筛法原理 埃氏筛法时间复杂度 埃氏筛法代码求出1000000以内的素数并且输出n个素数 欧拉筛法 欧拉筛法原理 欧拉筛 ...

  8. ACMNO.17C语言-筛法求素数 用筛法求之N内的素数。

    题目描述 用筛法求之N内的素数. 输入 N 输出 0-N的素数 样例输入 100 样例输出 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 7 ...

  9. 母牛python_《Python》 母牛的故事Hello, world用筛法求之N内的素数

    1:题目: 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? def f(n): f1,f2,f3=1,2,3 if ...

  10. 用筛法求之N内的素数

    用筛法求之N内的素数. 时间限制: 1 Sec  内存限制: 64 MB 提交: 127  解决: 105 [提交][状态][讨论版][Edit] [TestData] 题目描述 用筛法求之N内的素数 ...

最新文章

  1. SAP WM高阶之同一个货架上相同物料不同批次的库存可以有同一个SU号码?
  2. 批量更新日期字段中的年
  3. 开始Windows Embedded Compact 7的第一个项目——虚拟机上的CEPC
  4. 为无LIB的DLL制作LIB函数符号输入库zz
  5. JMeter环境搭建
  6. 【Tiny4412】最小网络文件系统制作
  7. Object defineProperty
  8. mysql date timestamp_【Mysql】Datetime和Timestamp区别,及mysql中各种时间的使用
  9. 华为上半年收入4540亿元;GitHub服务中断,已恢复​;Python 3.8.4发布|极客头条
  10. “快陪练”获1000万美元Pre-A轮融资,单月营收破千万,俞敏洪跟投...
  11. 最小化安装CentOS 7后,图形界面的安装(GNOME、KDE等)
  12. 加速度传感器,磁场传感器和陀螺仪传感器案例
  13. 阿辉DirectX 11学习笔记一
  14. Qt实用技巧:自定义窗口标题栏
  15. c++文件的读取和写入
  16. 香农采样定理(奈奎斯特采样定理)
  17. 神途boss_神途BOSS刷新了,女玩家以身冒险前往打骨魔洞
  18. 用我们的奋斗和梦想扬起青春的船帆
  19. Qt 快速入门学习笔记
  20. activiti设置和使用启动人;activiti:initiator的作用及其使用

热门文章

  1. ubuntu启动时的初始化信息二
  2. 晕!!汗颜!java排序大集合
  3. as没有add as library选项
  4. 【JavaEE】javaee一些问题方案
  5. stata中计算公式命令_Stata:runby - 一切皆可分组计算!
  6. Java模拟文件管理器
  7. Linux的匿名访问Samba
  8. java中的方法与方法之间的关键_Java中包与包之间方法的调用及其关键字区分(基础)...
  9. .NET中的Lambda表达式与匿名方法
  10. UpdateProgress使用,出不来特效问题小结