与armstrong系列/数字相关的Python系列问题

问题描述 投票:0回答:1

编写一个程序来打印给定范围内的所有阿姆斯特朗数字。注:阿姆斯特朗 number 是一个数字,其数字的立方和等于该数字本身。例如。 370=33+73+03

我不知道如何解决 请告诉我解决此类问题需要阅读的主题

python recursion series
1个回答
0
投票

我想这就是你想要的

def is_armstrong(n: int) -> bool:
    powers = [int(ch)**len(str(n)) for ch in str(n)]
    return sum(powers) == n

for i in range(500):
    if is_armstrong(i): print(i)

注意
从网上搜索了一下,这似乎是阿姆斯特朗数的实际定义。你可能想看看 python 教程 e.x w3schools,这样你就可以了解一些有关 python 循环等的基础知识。

an integer x = d0d1d2...dn-1 where di is in [0-9]
is an armstrong/narcissistic number iff the sum d0^n + d1^n ... dn-1^n = x
© www.soinside.com 2019 - 2024. All rights reserved.