在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值
- 如果n与0相同,则
- 返回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