LeetCode探索之旅(58)-204质素统计
今天继续刷LeetCode,第204题,求给定的数以下,包含多少个素数。
分析:
素数的定义:一个大于1的自然数,除了1和它自身以外,不能被其他自然数整除的数就是质数,也叫作素数。所以1不是质数。
方法一:通过遍历给定数以下的每一个数,并同时判断该数是否为素数,是的话就累加1,否则继续判断,这个方法虽然可行,但是会出现时间超时的问题,于是采用筛选法。
方法二:通过筛选的方式,如果n是素数,那么该数的所有倍数都不是素数,全部删除,知道循环到n的开方。
问题:
1、超时出现时,如何解决;
2、素数的判断;
3、以空间换取时间;
附上超时代码1:
class Solution {
public:int countPrimes(int n) {int count=0;if(n==1)return 0;while(n--&&n>1){if(isPrime(n))count++;}return count;}bool isPrime(int n){for(int i=2;i<=n/2;i++){if(n%i==0)return false;}return true;}
};
附上通过代码2:
class Solution {
public:int countPrimes(int n) {vector<bool> state(n,true);if(n==0)return 0;state[0]=false;state[1]=false;for(int i=2;i<sqrt(n);i++){if(state[i]){for(int j=i*i;j<n;j+=i)state[j]=false;}}return count(state.begin(),state.end(),true);}
};
python实现:
注意:
(1)设置n为数组的方式;
(2)乘方的使用;
附上python代码:
class Solution:def countPrimes(self, n: int) -> int:if n<3:return 0;state=[1]*nstate[0]=state[1]=0for i in range(2,int(n**0.5)+1):if state[i]==1:for j in range(i*i,n,i):state[j]=0return sum(state)
LeetCode探索之旅(58)-204质素统计相关推荐
- python程序判断梅森素数_梅森素数的探索之旅
2009年5月22日,对于很多人来说并不是什么特别的日志,不过数学界这边又传来了一个"喜讯":我们已经找到了第47个梅森素数,即$2^{42643801}-1$是一个素数!新的素数 ...
- Linux 探索之旅 | 第四部分第二课:SSH 连接,安全快捷
-- 作者 谢恩铭 转载请注明出处 内容简介 第四部分第二课:SSH连接,安全快捷 第四部分第三课预告:文件传输,潇洒同步 SSH连接,安全快捷 上一课是 Linux探索之旅 | 第四部分第一课:压缩 ...
- 【Linux探索之旅】第二部分第五课:用户和权限,有权就任性
内容简单介绍 1.第二部分第五课:用户和权限,有权就任性 2.第二部分第六课预告:Nano,刚開始学习的人的文本编辑器 用户和权限.有权就任性 今天的标题也挺任性的啊,虽说小编是一个非常本分的人(真的 ...
- Linux 探索之旅 | 第三部分第五课:延时执行,唯慢不破
-- 作者 谢恩铭 转载请注明出处 内容简介 第三部分第五课:延时执行,唯慢不破 第三部分第六课预告:第三部分测验题 延时执行,唯慢不破 上一课 Linux探索之旅 | 第三部分第四课:后台运行及合并 ...
- Web 探索之旅 | 第二部分第一课:客户端语言
-- 作者 谢恩铭 转载请注明出处 Web探索之旅 | 第二部分 第二部分第一课:客户端语言 第二部分第二课:服务器语言 第二部分第三课:框架和内容管理系统 第二部分第四课:数据库 第二部分第五课:响 ...
- 美团外卖商家端视频探索之旅
美团外卖商家端视频探索之旅 背景 美团外卖至今已迅猛发展了六年,随着外卖业务量级与日俱增,单一的文字和图片已无法满足商家的需求,商家迫切需要更丰富的商品描述手段吸引用户,增加流量,进而提高下单转化率和 ...
- Linux 探索之旅 | 第五部分第五课:循环往复,Shell 开路
-- 作者 谢恩铭 转载请注明出处 内容简介 前言 while 循环 until 循环 for 循环 总结 第五部分第六课预告 1. 前言 上一课 Linux探索之旅 | 第五部分第四课:条件一出,S ...
- c语言 如何创建adt_C语言探索之旅 | 第二部分第六课:创建你自己的变量类型
内容简介 前言 定义一个 struct 结构体的使用 结构体指针 union enum 总结 第二部分第七课预告 1. 前言 上一课是 C语言探索之旅 | 第二部分第五课:预处理 ,应该是比较轻松的. ...
- C++统计10亿以内所有的质素(素数)的实现算法(附完整源码)
C++统计10亿以内所有的质素的实现算法 C++统计10亿以内所有的质素的实现算法完整源码(定义,实现,main函数测试) C++统计10亿以内所有的质素的实现算法完整源码(定义,实现,main函数测 ...
最新文章
- python使用说明书-InfluxDB——python使用手册
- win10中的ubuntu子系统忘记root密码如何修改
- Confluence 6 为发送邮件配置服务器
- OAuth 2.0——授权服务开发笔记(二)
- 墨天轮2022年新春发布会暨年度数据库颁奖盛典即将开启!
- [MSP430DriverLib-2]使用延时让LED闪烁
- python opencv高斯滤波_【OpenCV】基于Python的图像高斯平滑和椒盐噪声处理 | 学步园...
- JoyStick for android2.3 游戏手柄功能开发
- ArcGIS聚类分析
- 如何缩小jpg图片大小?jpg格式怎么压缩?
- office WPS同时安装,WPS卸载后,文档图标异常解决办法
- 对SendMessage与PostMessage的理解
- 赴日IT的昨日和今朝
- 有追求的品牌都应该去B站
- vba写的《志愿者排班表》
- vs code 语法_VS Code上的Java现在具有语法模式和SonarLint支持
- coreldraw2018最新版信息功能与特点大全附下载链接
- 学习数字电路-时序约束
- 量化私募投资百亿头部量化私募企业在招岗位:《量化研究员》21/22/23届,校招/秋招/社招都看年base40-100万+bonus
- jquery日历插件,可自定义日期内容
热门文章
- element 日期选择图标_element-ui日期组件DatePicker设置日期选择范围Picker Options
- 带备忘录的动态规划【leetcode931】
- python:statsmodels 一元线性回归分析
- 原生JavaScript小白入门001之HTML为<script>标签定义的6种属性
- CTF-实验吧-认真你就输了
- 【数据可视化】利用WordCloud制作词云
- 数字电路之时序逻辑电路
- Win7下安装Ubuntu16.04以及Ubuntu配置Android环境
- JAVA正则表达式(详细,转载内容)
- 同花顺_代码解析_五彩K线