来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/add-digits/
【题目描述】
给定一个非负整数 num
,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。
【示例】
示例 1:
输入: num = 38
输出: 2
解释: 各位相加的过程为:
38 --> 3 + 8 --> 11
11 --> 1 + 1 --> 2
由于 2 是一位数,所以返回 2。
示例 2:
输入: num = 0
输出: 0
提示:
- 0 <= num <= 231 - 1
【解题思路】
逐步计算每一位上数字的和,直到结果为个位(即除以10的商为0)即可。
【代码】
class Solution:
def addDigits(self, num: int) -> int:
result = num
while(result//10!=0):
result = 0
while(num//10!=0):
result += num%10
num //= 10
result += num
num = result
return result
【运行结果】