输出所有的水仙花数算法设计程序清单
时间: 2024-10-11 11:16:07 浏览: 26
C语言实现水仙花数查找算法及其应用
水仙花数是指一个n位数(n>=3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
以下是输出所有的水仙花数的算法设计程序清单:
1. 定义一个函数isNarcissistic(n),用于判断一个数n是否为水仙花数。具体实现如下:
```
def isNarcissistic(n):
# 将n转换为字符串,以便于获取每一位数字
str_n = str(n)
# 获取n的位数
length = len(str_n)
# 初始化sum为0
sum = 0
# 遍历每一位数字,计算n次幂之和
for i in range(length):
sum += int(str_n[i])**length
# 判断sum是否等于n
if sum == n:
return True
else:
return False
```
2. 在主程序中,遍历所有n位数,判断每个数是否为水仙花数,如果是,则输出该数。具体实现如下:
```
# 输入n,表示要输出n位数的水仙花数
n = int(input("请输入n:"))
# 遍历所有n位数
for i in range(10**(n-1), 10**n):
if isNarcissistic(i):
print(i)
```
这样就可以输出所有的n位水仙花数了。
阅读全文