利用函数的递归调用求一个整数各个位上数字的和
时间: 2024-02-23 18:02:14 浏览: 73
好的,可以使用如下的递归函数来实现:
```python
def sum_digits(n):
if n < 10:
return n
else:
return n % 10 + sum_digits(n // 10)
```
这个函数的思路是,先判断输入的整数 n 是否小于 10,如果是,则直接返回 n 作为结果;如果不是,则将 n 的个位数加上剩余数位的和(通过递归调用 sum_digits 函数)作为结果返回。
例如,对于整数 12345,调用 sum_digits(12345) 的过程如下:
1. sum_digits(12345) = 5 + sum_digits(1234)
2. sum_digits(1234) = 4 + sum_digits(123)
3. sum_digits(123) = 3 + sum_digits(12)
4. sum_digits(12) = 2 + sum_digits(1)
5. sum_digits(1) = 1
所以,最终的结果是:sum_digits(12345) = 5 + 4 + 3 + 2 + 1 = 15。
阅读全文