用python编写程序输出所有armstrong数。armstrong数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。 n=3时又称水仙花数,水仙花数共有4个,分别为:153、370、371、407。 n=4时又称四叶玫瑰数,四叶玫瑰数共有3个:1634,8208,9474。 要求输入n,输出对应的armstrong数
时间: 2024-03-16 22:47:08 浏览: 130
Python水仙花数.zip
好的,以下是用 Python 编写输出 Armstrong 数的程序:
```python
def is_armstrong(num):
n = len(str(num))
temp = num
sum = 0
while temp > 0:
digit = temp % 10
sum += digit ** n
temp //= 10
return num == sum
def armstrong_numbers(n):
result = []
for num in range(10**(n-1), 10**n):
if is_armstrong(num):
result.append(num)
return result
n = int(input("请输入n:"))
print(f"{n} 位 Armstrong 数为:{armstrong_numbers(n)}")
```
使用该程序,您可以输入 n 的值,输出 n 位 Armstrong 数。程序先定义了一个 `is_armstrong` 函数来判断一个数是否为 Armstrong 数,然后定义了 `armstrong_numbers` 函数来获取 n 位 Armstrong 数的列表。最后,程序读取用户输入的 n 值,输出对应的 Armstrong 数列表。
注意:输入的 n 值不宜过大,否则程序运行时间会很长。
阅读全文