答案:判断质数只需检查2到√n的因数。例如is_prime(7)返回True,而is_prime(9)返回False,因3×3=9,故9非质数。

判断一个数字是否为质数,是Python编程中的常见问题。质数是指大于1且只能被1和它本身整除的自然数。例如:2、3、5、7、11等。
基本思路
要判断一个数n是否为质数,最直接的方法是尝试从2到√n之间的所有整数是否能整除n。如果存在能整除的数,则n不是质数;否则就是质数。
只需要检查到√n是因为:如果n有一个大于√n的因数,那么必然对应一个小于√n的因数。因此无需检查更大的数。
简单实现代码
def is_prime(n): if n return Falseif n == 2: return Trueif n % 2 == 0: return False i = 3 while i * i if n % i == 0: return False i += 2 return True说明:
立即学习“Python免费学习笔记(深入)”;
- n小于2直接返回False
- 等于2返回True(唯一偶数质数)
- 大于2的偶数都不是质数
- 只检查奇数因子,从3开始,每次加2,提升效率
- 循环条件i*i
使用示例
print(is_prime(11)) # 输出 True
print(is_prime(15)) # 输出 False
print(is_prime(97)) # 输出 True
这个方法在处理一般大小的整数时效率足够,适合大多数场景。对于大量数字或非常大的数值,可考虑更高级算法如米勒-拉宾素性测试,但上述方法已满足基础需求。
基本上就这些。











