在Python中找到数字的超级数字的程序

在Python中找到数字的超级数字的程序

假设我们有一个数字n。我们必须找到这个数字的超级数字。一个单个数字的超级数字是数字本身,但对于多位数字,超级数字是所有数字的总和,重复直到总和是单个数字。

因此,如果输入是n = 513682,则输出将为7,因为(5 + 1 + 3 + 6 + 8 + 2)= 25,(2 + 5)= 7。

为了解决这个问题,我们将按照以下步骤进行-

  • s:= 0
  • 当n> 0或s> 9时,执行以下操作:
    • 如果n与0相同,则
      • n:= s
      • s:= 0
    • s:= s + n mod 10
    • n:= n/10的floor值
  • 返回s

示例

让我们看一下以下实现,以获得更好的理解

def solve(n):
   s = 0
   while(n > 0 or s > 9):
      if n == 0:
         n = s
         s = 0

      s += n % 10
      n //= 10

   return s

n = 513682
print(solve(n))

输入

513682

输出

7

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程