线性筛,求质数(素数)
#include <bits/stdc++.h> //万能库
using namespace std;
typedef long long ll; //把long long 用 ll表示,节约书写时间
int const maxn=1e5+5; //定义一个数值maxn为100005
ll prime[maxn]; //存储质数的数组
bool check[maxn]; //用来检查是否质数的倍数被筛出来的数组
void primelist(ll n) //获得质数表的函数 注意:筛选的是小于n的所有质数
{
ll cnt=0; //用来记录质数的数量
memset(check,false,sizeof(check)); //先将bool类型check数组每一位置为false
for(int i=2;i<n;++i) //开始从第一位质数开始,如果是就记录在prime数组中
{
if(!check[i]) //如果这一位没有被标记过,证明这个数是质数
{
prime[++cnt]=i; //把这个数搞进质数表中 同时 质数数量+1
}
for(int j=1;j<=cnt;j++) // 开始遍历,把当前质数的倍数都筛掉 ——>意味着 bool类型数组check置为true这样以后就不会把质数的倍数保存到质数表中
{
if(i*prime[j]>n)break; //如果超过一开始的数值n了就退出循环
check[i*prime[j]]=true; //标记操作
}
}
}
int main()
{
ios::sync_with_stdio(false);// 想了解此语句的复制此语句百度即可
ll n;
cin>>n;
primelist(n); //调用primelist函数,获得小于n的质数表
for(int i=1;i<10;i++) //此处演示打印前10位质数
{
cout<<prime[i]<<" ";
}
return 0;
}
————————————————
版权声明:本文为CSDN博主「upczsh」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43850598/article/details/98224082
原文地址:https://www.cnblogs.com/NightVoyager233/p/15386827.html
- RSA 2018:从大会议题看2018年网络安全趋势
- Silverlight:Mouse Avoiding 躲避鼠标效果
- CTreeCtrl 控件使用总结
- 在ASP.NET MVC 4中使用Kendo UI Grid
- 每周四更面试题:True+True=?
- iis7 发布mvc 遇到的HTTP错误 403.14-Forbidden Web 服务器被配置为不列出此目录的内容
- NET中验证控件表达式汇总
- 动态执行超过4000个字符的SQL
- 在ASPNET中使用JS集锦
- 小程序又又又……
- js中页面刷新和页面跳转的方法总结
- PixelBender(着色器)初体验
- Centos下堡垒机Jumpserver V3.0环境部署完整记录(1)-安装篇
- CSS好看的按钮
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 微信jssdk分享接口
- 有赞 Flutter 混编方案
- 最近开发问题
- echarts相关问题总结
- 视频上云EasyNTS组网硬件设备登录后自动下线并清除设备信息是什么原因?
- 震惊! 再也不怕蹭网被发现了!
- 国标GB28181协议客户端EasyGBS国标视频平台级联EasyNVR:EasyNVR到EasyGBS上是如何注册及注销的?
- git全局忽略文件配置
- 2018-10-16近期vue开发总结
- 有赞埋点实践
- 树莓派配置LEDE(openwrt衍生版)拨号
- Android 沉浸式解析和轮子使用
- 腾讯云CDN使用(接入方式:COS源)
- 工作流引擎在有赞 DevOps 中的实践
- 微信带备注群发真好玩!