写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和。 例如:调用DigitSum(1234),则返回1+2+3+4的和值10。
时间: 2024-05-13 15:19:35 浏览: 129
C语言程序设计-编写函数判断一个整数m的各位数字之和能否被7整除,可以被7整除则返回1,否则返回0;调用该函数找出10
5星 · 资源好评率100%
好的,下面是递归函数DigitSum(n)的Python代码实现:
```python
def DigitSum(n):
if n < 10: # 如果n是一位数,则直接返回n
return n
else:
return n % 10 + DigitSum(n // 10) # 否则返回n的个位数加上剩下位数的数字之和
```
我们可以先分析一下递归的思路:
- 如果n是一位数,则直接返回n;
- 否则,n的个位数是n % 10,去掉个位数后剩下的数字是n // 10,将这个数字作为参数递归调用DigitSum函数,并将结果与个位数相加返回。
例如,当n=1234时,递归调用过程如下:
```python
DigitSum(1234)
= 4 + DigitSum(123)
= 4 + 3 + DigitSum(12)
= 4 + 3 + 2 + DigitSum(1)
= 4 + 3 + 2 + 1
= 10
```
因此,DigitSum(1234)的返回值为10,符合题目要求。
阅读全文