python输入一个正整数n,判断n是否为质数
时间: 2024-09-12 22:13:02 浏览: 71
Python例题(一) 输入一个正整数判断是不是素数
在Python中,判断一个正整数n是否为质数可以通过遍历从2到sqrt(n)的所有整数来实现,检查是否有任何整数能整除n。如果没有,则n为质数;反之,则不是质数。这是因为如果n不是质数,它必定有一个因子小于或等于它的平方根。下面是一个简单的Python函数实现:
```python
import math
def is_prime(n):
if n <= 1:
return False
if n <= 3:
return True
if n % 2 == 0 or n % 3 == 0:
return False
i = 5
while i * i <= n:
if n % i == 0 or n % (i + 2) == 0:
return False
i += 6
return True
```
这段代码首先排除了小于等于1的情况,因为质数定义为大于1的自然数。接着,对于小于等于3的数,直接返回True,因为2和3都是质数。然后,代码检查n是否能被2或3整除,如果可以,则n不是质数。最后,通过不断尝试6k±1的形式(因为所有质数都位于6k±1的位置),来寻找可能的因子,直到i的平方大于n为止。
阅读全文