酷代码 AI
菜单
服务商

Python 判断素数:代码实现、注意边界与性能优化

```python import math def is_prime(n): if n < 2: return False if n == 2: return True if n % 2 == 0: return False # 只需检查奇数因子,从3到sqrt(n) for i in range(3, int(math.isqrt(n)) + 1, 2): if n % i == 0: return False return True # 读取输入 N = int(input()) for _ in range(N): num = int(input()) if is_prime(num): print("Yes") else: print("No") ``` 代码说明: - `is_prime` 函数判断一个数是否为素数。处理了小于2、等于2、偶数等特殊情况。 - 使用 `math.isqrt` 获取整数平方根,避免浮点误差。 - 循环只检查到 √n 的奇数,提升效率。 - 主程序按格式读取 N 和后续的 N 个数字,逐个判断并输出结果。 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: - 输入边界值如 1、2 或非常接近 1000000 的数时,逻辑容易出错,必须显式覆盖这些情况。 - 判断素数时若循环条件写成 i <= sqrt(n) 而未取整,可能因浮点精度导致越界或漏判。 - 忽略偶数优化会使时间复杂度上升,在处理多个大数时性能下降明显。 ######[AI写代码神器 | 343点数解答 | 2025-11-06 12:56:21]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]