用键盘输入[3,4,5]中的任意数字,求出对应位数的阿姆斯特朗数
时间: 2023-07-29 12:09:01 浏览: 108
水仙花数,也称为阿姆斯特朗数,是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身(C语言源代码)
阿姆斯特朗数是指一个n位数字的立方和恰好等于该数字本身,因此,对于输入的数字[3,4,5],我们需要分别求出3位数、4位数、5位数中的阿姆斯特朗数。
对于三位数,我们需要枚举100~999之间的所有数,然后计算其各位数字的立方和是否等于该数本身,如果是,则该数为阿姆斯特朗数。
对于四位数和五位数同理。
以下是Python代码实现:
```python
n = int(input("请输入数字:"))
if n == 3:
for i in range(100, 1000):
a = i // 100
b = (i // 10) % 10
c = i % 10
if i == a**3 + b**3 + c**3:
print(i)
elif n == 4:
for i in range(1000, 10000):
a = i // 1000
b = (i // 100) % 10
c = (i // 10) % 10
d = i % 10
if i == a**4 + b**4 + c**4 + d**4:
print(i)
elif n == 5:
for i in range(10000, 100000):
a = i // 10000
b = (i // 1000) % 10
c = (i // 100) % 10
d = (i // 10) % 10
e = i % 10
if i == a**5 + b**5 + c**5 + d**5 + e**5:
print(i)
else:
print("输入有误,请输入3、4或5")
```
阅读全文