写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和 例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19 输入:1729,输出:19
时间: 2024-04-17 16:23:16 浏览: 16
递归函数digitsum(n)的实现如下:
def digitsum(n):
if n < 10:
return n
else:
return n % 10 + digitsum(n // 10)
函数的基本思路是:如果n小于10,直接返回n;否则,将n除以10得到一个整数部分和一个余数,将余数加上递归调用digitsum函数处理整数部分,最终返回结果。
例如,对于输入1729,首先计算9+digitsum(172),然后计算2+digitsum(17),接着计算7+digitsum(1),最后计算1,得到结果19。
相关问题
写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和。 例如:调用DigitSum(1234),则返回1+2+3+4的和值10。
好的,下面是递归函数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,符合题目要求。
写一个递归函数digitsum(n),输入一个非负整数,返回组成它的数字之和。例如输入1729,应返回1+7+2+9的和,它的和为19。
递归函数digitsum(n)的实现如下:
def digitsum(n):
if n < 10:
return n
else:
return n % 10 + digitsum(n // 10)
函数的基本思路是:如果n小于10,直接返回n;否则,将n除以10得到一个整数部分和一个余数,将余数加上递归调用digitsum函数处理整数部分,最终返回结果。
例如,对于输入1729,首先计算9+digitsum(172),然后计算2+digitsum(17),接着计算7+digitsum(1),最后计算1,得到结果19。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)