python判断是否为素数
发布时间 - 2026-01-09 00:00:00 点击率:次素数是只有1和它本身两个正因数的数;判断时先排除小于2的数,2是唯一偶素数,对n≥3只需试除到√n。
判断一个数是否为素数,核心是看它是否只有 1 和它本身两个正因数。最直接的方法是试除法:从 2 开始,检查到 √n(含)之间是否有能整除 n 的数。如果没有,就是素数。
基础实现(处理常见情况)
需要特别注意边界情况:小于 2 的数(如 0、1、负数)都不是素数;2 是最小的素数且是唯一的偶素数。
- 若 n
- 若 n == 2 → 返回 True
- 若 n 是大于 2 的偶数 → 返回 False
- 对奇数,只需检查 3 到 √n 之间的奇数即可
推荐写法(简洁高效)
以下函数兼顾可读性与效率:
def is_prime(n):
if n < 2:
return False
if n == 2:
return True
if n % 2 == 0:
return False
i = 3
while i * i <= n:
if n % i == 0:
return False
i += 2
return True用 i * i 替代 i 可避免浮点误差和类型转换,更安全。
小技巧:批量判断时可预处理
如果需频繁判断多个数(比如 1~1000 内),用埃氏筛法一次性生成布尔数组会更快:
# 生成 [0, n] 范围内是否为素数的列表
def sieve(n):
is_prime_arr = [True] * (n + 1)
is_prime_arr[0] = is_prime_arr[1] = False
for i in range(2, int(n**0.5) + 1):
if is_prime_arr[i]:
for j in range(i*i, n+1, i):
is_prime_arr[j] = False
return is_prime_arr
使用示例:is_prime_arr = sieve(100); print(
is_prime_arr[97]) # True
注意事项
- Python 中整数无溢出问题,但大数(如 >10⁹)用试除法会变慢,此时建议用 Miller-Rabin 等概率算法
- 输入应为整数,若传入浮点数(如 5.0),需先 int() 或加类型检查
- 负数、0、1 均不是素数,这是数学定义,不要遗漏
# python
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
制作公司内部网站有哪些,内网如何建网站?
5种Android数据存储方式汇总
Android仿QQ列表左滑删除操作
JavaScript如何实现路由_前端路由原理是什么
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
Python3.6正式版新特性预览
大同网页,大同瑞慈医院官网?
如何在七牛云存储上搭建网站并设置自定义域名?
Android okhttputils现在进度显示实例代码
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】
焦点电影公司作品,电影焦点结局是什么?
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】
如何在IIS中配置站点IP、端口及主机头?
android nfc常用标签读取总结
Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】
JavaScript如何实现倒计时_时间函数如何精确控制
如何用5美元大硬盘VPS安全高效搭建个人网站?
java ZXing生成二维码及条码实例分享
清除minerd进程的简单方法
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
Laravel如何实现用户密码重置功能?(完整流程代码)
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
高端智能建站公司优选:品牌定制与SEO优化一站式服务
如何在阿里云香港服务器快速搭建网站?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
php 三元运算符实例详细介绍
WEB开发之注册页面验证码倒计时代码的实现
Laravel如何生成URL和重定向?(路由助手函数)
php json中文编码为null的解决办法
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
米侠浏览器网页图片不显示怎么办 米侠图片加载修复
Laravel Debugbar怎么安装_Laravel调试工具栏配置指南
,网页ppt怎么弄成自己的ppt?
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤
C#如何调用原生C++ COM对象详解
免费网站制作appp,免费制作app哪个平台好?
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
Laravel怎么清理缓存_Laravel optimize clear命令详解
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
米侠浏览器网页背景异常怎么办 米侠显示修复
如何快速搭建二级域名独立网站?


is_prime_arr[97]) # True