开发者学堂课程【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 秒