答案:判断质数只需检查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的因数。因此无需检查更大的数。
说明:
print(is_prime(11)) # 输出 True
print(is_prime(15)) # 输出 False
print(is_prime(97)) # 输出 True
这个方法在处理一般大小的整数时效率足够,适合大多数场景。对于大量数字或非常大的数值,可考虑更高级算法如米勒-拉宾素性测试,但上述方法已满足基础需求。
基本上就这些。