程序查找数字总和,直到它是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