输出水仙花数。输入一个正整数n(3≤n≤7),输出所有的n位水仙花数。水仙花数是指一个n位正整数,它的各位数字的n次幂之和等于它本身。例如153的各位数字的立方和是1’+5’+3'=153。试编写相应程序。
时间: 2024-10-28 07:15:46 浏览: 76
水仙花数是指一个 n 位正整数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身;用熟悉的语言实现一个函数sxhs
为了编写一个输出n位水仙花数的简单程序,我们可以使用循环遍历从3位到n位的所有数字,并检查每个数字是否满足水仙花的条件。这里以Python为例:
```python
def find_water_lilies(n):
for num in range(10**(n-1), 10**n): # 生成n位数范围内的所有数
digits = [int(digit) for digit in str(num)] # 获取每一位数字
sum_of_powers = sum([digit ** n for digit in digits]) # 计算每位立方和
if sum_of_powers == num: # 如果和等于原数,则找到水仙花数
print(num)
# 输入想要查找几位数的水仙花数
n = int(input("请输入一个正整数n (3 ≤ n ≤ 7): "))
find_water_lilies(n)
```
当你运行这个程序并输入合适的n值(比如3、4、5等),它会输出对应位数的水仙花数。
阅读全文