用 Python 编写程序,计算数字之和,直到它为一位数

pythonserver side programmingprogramming更新于 2026/1/12 19:56:17

假设我们有一个正数 n,我们将它的所有数字相加得到一个新数字。现在重复此操作,直到它小于 10。

因此,如果输入是 9625,则输出为 4。

要解决这个问题,我们将遵循以下步骤 −

  • 定义一个方法solve(),它将接受 n
  • 如果 n < 10,则
    • 返回 n
  • s := 0
  • l := (log(n) base 10 + 1) 的下限
  • 当 l > 0 时,执行
    • s := s + (n mod 10)
    • n := quotient of n / 10
    • l := l - 1
  • 返回 solve(s)

让我们看看下面的实现以便更好地理解 −

示例

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

相关文章


有用资源