质数练习_第二次优化|学习笔记

简介: 快速学习 质数练习_第二次优化

开发者学堂课程【Python 语言基础 1 :语法入门: 质数练习_第二次优化】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/599/detail/8696


质数练习_第二次优化


内容简介:

1、对性能进行进一步优化思路(把j的范围缩小)

2、优化演示

 

一、优化思路

10000 个数 第一次优化后执行时间 1.577 秒

100000 个数 第一次优化后执行时间 170.645 秒

进一步优化:把j的范围缩小即可以很大程度上提高运行速度

举例:36 的因数:(2  18) (3  32) (4  9) (6  6)

数到 6 为止,往后没有对应的因数,则想要找36的因数,不需要从1找到36,只需找到一个固定位置如 36 的根号 6 即可。

 

二、优化演示

故 将 j < i 改为 j < i ** 0.5

操作演示为begin = time()

i = 2

while i <= 100000:

flag = True

j = 2

(这一步对于性能优化十分重要while j <= i ** 0.5

if  i % j == 0

flag = False

break

j += 1

if flag :

print(i)

i += 1

end = time()

第二次优化后 10000 个数执行时间变为 0.068 秒

100000 个数执行时间为 1.646 秒

相关文章
|
2月前
|
算法 测试技术 C++
【数论】【分类讨论】【C++算法】1611使整数变为 0 的最少操作次数
【数论】【分类讨论】【C++算法】1611使整数变为 0 的最少操作次数
|
3月前
试除法判定质数:深入探索与代码分析
试除法判定质数:深入探索与代码分析
20 0
|
10月前
|
存储
Leecode面试题43. 1~n整数中1出现的次数
Leecode面试题43. 1~n整数中1出现的次数
48 0
|
10月前
|
算法 前端开发
前端算法-寻找重复数
前端算法-寻找重复数
|
10月前
|
算法 前端开发 索引
前端算法-质数计数
前端算法-质数计数
|
11月前
|
机器学习/深度学习 算法
蓝桥杯之素数及相关判断方法(看这一篇就够了)
蓝桥杯之素数及相关判断方法(看这一篇就够了)
97 0
质数练习_第二次优化
质数练习_第二次优化自制脑图
33 0
质数练习_第二次优化
质数练习_第一次优化
质数练习_第一次优化自制脑图 性能优化方法:基本方法,在 IDLE 中演示,使用 break 进一步优化
39 0
质数练习_第一次优化
|
算法
基础算法练习200题13、判断质数
基础算法练习200题13、判断质数
72 0