线性复杂度的素数筛选法
// #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
线性复杂度的素数筛选法相关推荐
- python使用集合实现筛选法求素数-python素数筛选法浅析
原理: 素数,指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数.在加密应用中起重要的位置,比如广为人知的RSA算法中,就是基于大整数的因式分解难题,寻找两个超大的素数然后相乘作 ...
- 因子和(类素数筛选法)
(忙着A题,总结会慢慢跟上~) 1409: 因子和 Time Limit: 1 Sec Memory Limit: 128 MB [Submit][Status][Web Board] Descrip ...
- 51nod 1536不一样的猜数游戏 思路:O(n)素数筛选法。同Codeforces 576A Vasya and Petya‘s Game。
废话不多说,先上题目. 51nod Codeforces 两个其实是一个意思,看51nod题目就讲的很清楚了,题意不再赘述. 直接讲我的分析过程:刚开始拿到手有点蒙蔽,看起来很难,然后......然后 ...
- pku 2635 The Embarrassed Cryptographer 数论——素数筛选法+模拟大数除法
http://poj.org/problem?id=2635 因为给定的k是两个素数的乘机,所以该数所包含的因子是{1,K,p,q}假设k = p*q p,q为素数,所以只要从小到大枚举小于L的素数, ...
- 素数筛选法(埃氏筛 欧拉筛)
质数筛选法 文章目录 质数筛选法 前言 一.埃氏筛 O(nloglogn)O(nloglogn)O(nloglogn) 二.欧拉筛O(n)O(n)O(n) 总结 前言 当需要大范围内的素数时,例如1e ...
- PAT甲题题解-1059. Prime Factors (25)-素数筛选法
用素数筛选法即可. 范围long int,其实大小范围和int一样,一开始以为是指long long,想这就麻烦了该怎么弄. 而现在其实就是int的范围,那难度档次就不一样了,瞬间变成水题一枚,因为i ...
- 南阳理工oj 题目26 孪生素数问题 素数筛选法
孪生素数问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 写一个程序,找出给出素数范围内的所有孪生素数的组数.一般来说,孪生素数就是指两个素数距离为2,近的不能再近的相邻 ...
- 素数筛选法 (求1~n的素数)
1.下面是求1~n的素数的一般方法: //求1~n的素数一般方法 #include<iostream> using namespace std; int main() {int n,i,j ...
- Python:实现prime sieve eratosthenes埃拉托斯特尼素数筛选法算法(附完整源码)
Python:实现prime sieve eratosthenes埃拉托斯特尼素数筛选法算法 # flake8: noqa def prime_sieve_eratosthenes(num):prim ...
最新文章
- java web 自定义标签_如何在JavaWeb程序中使用自定义标签
- 15.用PHP写出显示客户端IP与服务器IP的代码,如何防止用户使用代理的情况?[添加更多详情]...
- python图像识别步骤_利用百度智能云结合Python体验图像识别(转载来自qylruirui)
- UCSC数据库数据调用cruzdb
- MAX13085E/MAX485 _中文翻译
- windows Navicat Premium连接oracle
- Quadratic Form
- 一次频繁Full GC的排查过程,根源居然是它...
- 无差异曲线matlab算法,引入Matlab提高经济类线性代数应用能力
- 使用内存映射文件来共享数据
- 全国各地区数据库百度云链接(参考京东收货地址)
- 移动产品原型和线框图设计工具介绍
- 百度联盟广告代码php,仿百度联盟对联广告实现代码
- 太阳系行星运行图-java多媒体实验
- CS研究生学习阶段必读书籍
- 【转】ARM经典300问
- 在cmd运行java_用cmd运行java时的问题
- 分享几张大佬程序员常用壁纸,你值得拥有!
- 大连美女仿生机器人火了,网友:人形电脑东北银
- 5G ---SSB与preamble occasion
热门文章
- LuoguP4841 城市规划
- 4.4 使用STM32控制MC20进行GPS帧数据解析
- Delphi编程实现是否开启“平滑屏幕字体边缘“
- STM32:RTC闹钟唤醒
- 用Android自带的signapk.jar + .x509.pem + .pk8签名应用程序
- 内存版u-boot制作
- html指定ie内核,指定Webbrowser控件所用IE内核版本
- [图解]ARP协议(一)
- 7张图揭晓RocketMQ存储设计的精髓
- 1 分钟 Serverless 部署掌上游戏机,“一行命令”找回小时候的乐趣!