python素数递归判断函数
时间: 2024-10-16 17:11:28 浏览: 37
Python入门程序 函数应用(判断素数、递归求n的阶乘、x的n次方、最大最小值、插入排序法)
5星 · 资源好评率100%
在Python中,我们可以编写一个递归函数来判断一个数是否为素数。素数是指只有1和自身两个正因数的自然数。以下是递归方式的一个简单实现:
```python
def is_prime(n, i=2):
# 基本情况:0、1不是素数
if n <= 1:
return False
# 如果n等于2,它是素数
elif n == 2:
return True
# 若n为偶数,除了2以外的偶数都不是素数
elif n % 2 == 0:
return False
# 遍历从3到sqrt(n),如果n能被i整除,那么它不是素数
else:
if i * i > n:
return True # 如果没有找到因子,n就是素数
elif n % i == 0:
return False
else:
# 继续检查下一个奇数因子
return is_prime(n, i + 1)
# 示例
number = 17
print(f"{number} 是素数吗? {is_prime(number)}")
```
这个递归函数的工作原理是不断检查`n`是否能被从2开始的每一个整数整除,直到`i`的平方大于`n`为止。
阅读全文