程序查找数字总和,直到它是Python中的一位数字
假设我们有一个正数n,我们将其所有数字相加得到一个新数字。现在重复此操作,直到小于10。
因此,如果输入类似于9625,则输出将为4。
为了解决这个问题,我们将遵循以下步骤-
定义一个方法solve()
,这将花费n
如果n<10,则
返回n
s:=0
l:=(log(n)以10为底的底数)的底数
当l>0时
s:=s+(nmod10)
n:=n/10的商
l:=l-1
返回求解
让我们看下面的实现以更好地理解-
示例
import math class Solution: def solve(self, n): if n < 10: return n s = 0 l = math.floor(math.log(n, 10) + 1) while l > 0: s += n % 10 n //= 10 l -= 1 return self.solve(s) ob = Solution()print(ob.solve(9625))
输入值
9625
输出结果
4