当前位置: 首页> 游戏> 网游 > 建设网站选择主机时费用最昂贵的方案是_公司部门设置及职责划分_seo 优化是什么_河北百度推广电话

建设网站选择主机时费用最昂贵的方案是_公司部门设置及职责划分_seo 优化是什么_河北百度推广电话

时间:2025/7/14 15:19:49来源:https://blog.csdn.net/henanlion/article/details/147175966 浏览次数:0次
建设网站选择主机时费用最昂贵的方案是_公司部门设置及职责划分_seo 优化是什么_河北百度推广电话

质数(Prime Number)是指只能被 1 和自身整除的自然数,如 2、3、5、7 等。在算法题、密码学或数学计算中,高效生成质数至关重要。

Python 提供了多种方法来实现质数筛选,但不同方法的效率差异巨大。本文从 最基础的方法 开始,逐步介绍 优化技巧,最终给出 最优解,让你彻底掌握质数计算的精髓。

一、方法 1:最基础的暴力解法(适合新手)

遍历 2 到 n-1,检查是否能被整除。

def is_prime(n):if n <= 1:return Falsefor i in range(2, n):if n % i == 0:return Falsereturn Trueprimes = [n for n in range(1, 1000) if is_prime(n)]
print(primes)

问题:效率低,时间复杂度 高,仅适用于小范围数据。

二、方法 2:优化暴力法(减少计算量)

定义优化后的函数,跳过偶数(除了 2),提升计算速度。

def is_prime_optimized(n):if n <= 1:return Falseif n == 2:return Trueif n % 2 == 0:return Falsefor i in range(3, int(n ** 0.5) + 1, 2):  # 只检查奇数if n % i == 0:return Falsereturn Trueprimes = [n for n in range(1, 1000) if is_prime_optimized(n)]
print(primes)

优点:比方法 1 快很多,至少排除了一半的数

三、方法 3:列表推导式法(简洁法)

这种方法代码简洁,思路清晰,同时不用使用其它的函数

nums = range(1, 1000)
primes = [num for num in nums if all(num % x != 0 for x in range(2, num))]
print(primes)

四、方法 4: filter法(思路清晰法)

定义一个过滤的函数is_prime(),然后用filter进行过滤,转化为列表后,打印出来。

nums = range(1, 1000)
def is_prime(num):for x in range(2, num):if (num % x) == 0:return Falsereturn True
primes = list(filter(is_prime, nums))
print(primes)

五、方法 5:filter + lambda(代码优化法)

把方法四中的函数转化为lambd函数,条件用and来连接起来,三行代码就可以实现。

nums = range(1, 1000)
primes = list(filter(lambda num: num > 1 and all(num % x != 0 for x in range(2, num), nums))
print(primes)

六、学后总结

利用Python的内置函数如filter、lambda可以减少代码冗余,提升运行速度。

处理序列时要结合filter,列表推导式,lambda匿名函数来改进算法,提升运行效率。

推荐第三种和第四种方法,思路清晰,易于理解。

关键字:建设网站选择主机时费用最昂贵的方案是_公司部门设置及职责划分_seo 优化是什么_河北百度推广电话

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: