python利用递归函数求平方和
时间: 2023-06-02 12:04:59 浏览: 243
你好,可以使用递归函数来求平方和,代码如下:
```
def square_sum(n):
if n == 1:
return 1
else:
return n * n + square_sum(n-1)
print(square_sum(5)) # 输出55
```
这个递归函数接收一个整数n作为参数,如果n等于1,那么就返回1,否则就将n的平方加上n-1的平方和,也就是调用自身计算n-1的平方和,并将结果加上n的平方。这样依次递归下去,直到n等于1,最终得到平方和的结果。希望能对您有所帮助!
相关问题
递归函数求偶数的平方和
递归函数是一种在函数内部调用自身的方法。要求偶数的平方和,可以使用递归函数来实现。下面是一个示例的递归函数来求偶数的平方和:
```python
def sum_of_even_squares(n):
if n == 0:
return 0
elif n % 2 == 0:
return n**2 + sum_of_even_squares(n-2)
else:
return sum_of_even_squares(n-1)
```
这个函数接受一个正整数n作为参数,然后通过递归的方式求解偶数的平方和。首先判断n是否为0,如果是,则返回0作为递归的终止条件。如果n是偶数,则计算n的平方,并将n减去2作为参数递归调用函数本身。如果n是奇数,则将n减去1作为参数递归调用函数本身。最终,递归函数会将所有偶数的平方相加并返回结果。
python素数递归判断函数
在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`为止。
阅读全文