// #include"cstdio"
// #include"cstring"
// using namespace std;
// #define maxn 100000//求maxn范围内的素数
// long long su[maxn],cnt;
// bool isprime[maxn];
// void prime()
// {
//     cnt=1;
//     memset(isprime,1,sizeof(isprime));//初始化认为所有数都为素数
//     isprime[0]=isprime[1]=0;//0和1不是素数
//     for(long long i=2;i<=maxn;i++)
//     {
//         if(isprime[i])//保存素数
//         {
//             su[cnt++]=i;
//         }
//         for(long long j=i*2;j<=maxn;j+=i)//素数的倍数都为合数
//         {
//             isprime[j]=0;
//         }
//     }
// }
// int main()
// {
//     prime();
//     for(long long i=1;i<cnt;i++)
//         printf("%d  ",su[i]);
//     return 0;
// }
#include <bits/stdc++.h>
using namespace std;
#define maxn 100000//求maxn范围内的素数
long long su[maxn],cnt;
bool isprime[maxn];
void prime()
{cnt=1;memset(isprime,1,sizeof(isprime));//初始化认为所有数都为素数isprime[0]=isprime[1]=0;//0和1不是素数for(long long i=2;i<=maxn;i++){if(isprime[i])su[cnt++]=i;//保存素数i//下面这个循环的时间复杂度相比较于maxn可以忽略不计for(long long j=1;j<cnt&&su[j]*i<maxn;j++){isprime[su[j]*i]=0;//筛掉小于等于i的素数和i的积构成的合数
        }}
}
int main()
{prime();for(long long i=1;i<cnt;i++)printf("%d  ",su[i]);return 0;
}

转载于:https://www.cnblogs.com/buerdepepeqi/p/9351662.html

线性复杂度的素数筛选法相关推荐

  1. python使用集合实现筛选法求素数-python素数筛选法浅析

    原理: 素数,指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数.在加密应用中起重要的位置,比如广为人知的RSA算法中,就是基于大整数的因式分解难题,寻找两个超大的素数然后相乘作 ...

  2. 因子和(类素数筛选法)

    (忙着A题,总结会慢慢跟上~) 1409: 因子和 Time Limit: 1 Sec Memory Limit: 128 MB [Submit][Status][Web Board] Descrip ...

  3. 51nod 1536不一样的猜数游戏 思路:O(n)素数筛选法。同Codeforces 576A Vasya and Petya‘s Game。

    废话不多说,先上题目. 51nod Codeforces 两个其实是一个意思,看51nod题目就讲的很清楚了,题意不再赘述. 直接讲我的分析过程:刚开始拿到手有点蒙蔽,看起来很难,然后......然后 ...

  4. pku 2635 The Embarrassed Cryptographer 数论——素数筛选法+模拟大数除法

    http://poj.org/problem?id=2635 因为给定的k是两个素数的乘机,所以该数所包含的因子是{1,K,p,q}假设k = p*q p,q为素数,所以只要从小到大枚举小于L的素数, ...

  5. 素数筛选法(埃氏筛 欧拉筛)

    质数筛选法 文章目录 质数筛选法 前言 一.埃氏筛 O(nloglogn)O(nloglogn)O(nloglogn) 二.欧拉筛O(n)O(n)O(n) 总结 前言 当需要大范围内的素数时,例如1e ...

  6. PAT甲题题解-1059. Prime Factors (25)-素数筛选法

    用素数筛选法即可. 范围long int,其实大小范围和int一样,一开始以为是指long long,想这就麻烦了该怎么弄. 而现在其实就是int的范围,那难度档次就不一样了,瞬间变成水题一枚,因为i ...

  7. 南阳理工oj 题目26 孪生素数问题 素数筛选法

    孪生素数问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 写一个程序,找出给出素数范围内的所有孪生素数的组数.一般来说,孪生素数就是指两个素数距离为2,近的不能再近的相邻 ...

  8. 素数筛选法 (求1~n的素数)

    1.下面是求1~n的素数的一般方法: //求1~n的素数一般方法 #include<iostream> using namespace std; int main() {int n,i,j ...

  9. Python:实现prime sieve eratosthenes埃拉托斯特尼素数筛选法算法(附完整源码)

    Python:实现prime sieve eratosthenes埃拉托斯特尼素数筛选法算法 # flake8: noqa def prime_sieve_eratosthenes(num):prim ...

最新文章

  1. java web 自定义标签_如何在JavaWeb程序中使用自定义标签
  2. 15.用PHP写出显示客户端IP与服务器IP的代码,如何防止用户使用代理的情况?[添加更多详情]...
  3. python图像识别步骤_利用百度智能云结合Python体验图像识别(转载来自qylruirui)
  4. UCSC数据库数据调用cruzdb
  5. MAX13085E/MAX485 _中文翻译
  6. windows Navicat Premium连接oracle
  7. Quadratic Form
  8. 一次频繁Full GC的排查过程,根源居然是它...
  9. 无差异曲线matlab算法,引入Matlab提高经济类线性代数应用能力
  10. 使用内存映射文件来共享数据
  11. 全国各地区数据库百度云链接(参考京东收货地址)
  12. 移动产品原型和线框图设计工具介绍
  13. 百度联盟广告代码php,仿百度联盟对联广告实现代码
  14. 太阳系行星运行图-java多媒体实验
  15. CS研究生学习阶段必读书籍
  16. 【转】ARM经典300问
  17. 在cmd运行java_用cmd运行java时的问题
  18. 分享几张大佬程序员常用壁纸,你值得拥有!
  19. 大连美女仿生机器人火了,网友:人形电脑东北银
  20. 5G ---SSB与preamble occasion

热门文章

  1. LuoguP4841 城市规划
  2. 4.4 使用STM32控制MC20进行GPS帧数据解析
  3. Delphi编程实现是否开启“平滑屏幕字体边缘“
  4. STM32:RTC闹钟唤醒
  5. 用Android自带的signapk.jar + .x509.pem + .pk8签名应用程序
  6. 内存版u-boot制作
  7. html指定ie内核,指定Webbrowser控件所用IE内核版本
  8. [图解]ARP协议(一)
  9. 7张图揭晓RocketMQ存储设计的精髓
  10. 1 分钟 Serverless 部署掌上游戏机,“一行命令”找回小时候的乐趣!