【转载】素数快速打表(据说是线性复杂度)
/* 遇到素数需要打表时,先估算素数的个数: num = n / lnx; num为大概数字,越大误差越小(只是估计,用于估算素数表数组大小) 这个打表法效率貌似很高,网上说几乎达到了线性时间(不知道是真是假=。=) */ #include<iostream> #include<cstring> #include<cstdio> #include<ctime> #include<algorithm> using namespace std; int n; bool visit[10100000]; int prime[10000000]; void init_prim() { memset(visit, true, sizeof(visit)); int num = 0; for (int i = 2; i <= n; ++i) { if (visit[i] == true) { num++; prime[num] = i; } for (int j = 1; ((j <= num) && (i * prime[j] <= n)); ++j) { visit[i * prime[j]] = false; if (i % prime[j] == 0) break; //点睛之笔 } } } int main() { memset(prime, 0, sizeof(prime)); int count = 0; cin>>n; init_prim(); for(int i = 0; i <= n; ++i) if(prime[i]) { cout<<prime[i]<<" "; count++; } cout<<endl; cout<<"素数个数为:"<<count<<endl; }
转载于:https://www.cnblogs.com/yspworld/p/4739647.html
【转载】素数快速打表(据说是线性复杂度)相关推荐
- 杭电多校第十场 hdu6434 Count 欧拉函数打表 快速打表模板
Problem I. Count Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Other ...
- 一般筛法求素数+快速线性筛法求素数
一般筛法求素数+快速线性筛法求素数 标签: 正则表达式算法优化扩展c 2010-08-22 01:28 28738人阅读 评论(8) 收藏 举报 分类: 算法学习资料(5) 版权声明:本文为博主原 ...
- HDU 4548 美素数(打表)
HDU 4548 美素数(打表)解题报告 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=88159#problem/H 题目 ...
- db2 快速清除表中所以的数据
db2 "alter table t1 activate not logged initially with empty table" 快速清除表数据操作, 这个操作是不记录日志的 ...
- MSSql使用SQL语句快速查看表对的就说明,及表字段描述及字段类型
--表描述 SELECT tbs.name 表名,ds.value 描述 FROM sys.extended_properties ds LEFT JOIN sysobjects tbs ON ds. ...
- JEPLUS之如何快速复制表——JEPLUS软甲快速开发平台
为什么80%的码农都做不了架构师?>>> JEPLUS之如何快速复制表 在我们平时的业务中我们需要对一些业务表进行单独操作,这个时候我们可以进行表复制来单独对这张 ...
- oracle 快速备份表数据
oracle 快速备份表数据 CreateTime--2018年2月28日17:04:50 Author:Marydon UpdateTime--2017年1月20日11:45:07 1.1.9.3 ...
- 【转载】哈希表的原理,真的很难弄懂么?
[转载]哈希表的原理,真的很难弄懂么? 刘小爱v 发布时间:05-0909:06科技达人 转载路径: https://baijiahao.baidu.com/s?id=1666172942887109 ...
- pandas 取excel 中的某一列_Excel快速分表(xlwings+pandas)
Excel总表快速分表: step1: 读取exel数据到DataFrame step2: dataframe中数据进行筛选 step3:将筛选完的数据存储到excel中 工作中应用实例 step1: ...
- MS SQLSERVER中如何快速获取表的记录总数
(转自:http://www.cnblogs.com/pingkeke/archive/2006/05/29/411995.html) 在数据库应用的设计中,我们往往会需要获取某些表的记录总数,用于判 ...
最新文章
- kde重启_在Linux系统中出现KDE Plasma面板崩溃问题的解决方法
- SpringBoot + MyBatis + MySQL 读写分离实战
- 为实验室部署Symantec Antivirus
- 【线段树】矮人排队(jzoj(gz) 3236)
- php7.3 mysql gd支持_配置PHP对gd库的支持
- asp.net core webapi Session 内存缓存
- 生成下面的模块时,启用了优化或没有调试信息
- Numpy 数据精度
- opencv 识别火灾_使用深度学习和OpenCV早期火灾探测系统
- vs2015安装msdn_vs2015离线版msdn下载|
- 日程表模板html,excel日程表模板(每日工作时间表模板)
- TBase集群安装配置
- html调查问卷页面,html+js 问卷调查页面的展示以及form提交
- 编译原理实验四 C-语言 语法分析程序
- microbiomeViz:绘制lefse结果中Cladogram
- 电机学测试题+课后习题+思考题
- springboot+社区购物小程序 毕业设计-附源码291720
- MATLAB中minDiff,findpeaks,diff, intersect等函数详解
- 联想Y450 MAC系统SD读卡器驱动
- 美赛模板修改【超全版】