在主函数中打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。水仙花数共有4个:153、370、371、407。要求定义一个函数,该函数用来判断某个整数是否为水仙花数,是水仙花数则函数返回True,否则返回False。
时间: 2024-06-10 17:06:51 浏览: 70
c代码-打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
5星 · 资源好评率100%
好的,理解了您的要求。以下是代码实现:
```python
def isNarcissisticNumber(num):
"""
判断一个数是否为水仙花数
"""
# 将数字转化为字符串,方便分离每个数字
str_num = str(num)
n = len(str_num)
sum = 0
for i in str_num:
sum += int(i) ** n
return sum == num
def printNarcissisticNumbers():
"""
打印所有水仙花数
"""
for i in range(100, 1000):
if isNarcissisticNumber(i):
print(i)
printNarcissisticNumbers()
```
运行代码后,可以得到输出:153、370、371、407。
这个程序定义了两个函数,其中 isNarcissisticNumber 用来判断一个数是否为水仙花数,而 printNarcissisticNumbers 则是用来打印所有的水仙花数。在主函数中,我们调用 printNarcissisticNumbers 函数并打印输出结果即可。
注意,此代码仅是示例,实际开发中应该考虑到输入参数的合法性等问题。
阅读全文