1 min read

水仙花问题

传说,有一种数,叫“水仙花”数。它是一个三位数,并且每一位数的三次幂加起来等于他本身。比如153,1*3+5*3+3**3=153。

编写一个程序,找出所有的水仙花数(秘密信息1条)。

定义一个函数,判断数字是否为水仙花数。

def is_daffodil(number):
    strnum = str(number)
    if (int(strnum[0])**3 + int(strnum[1])**3 + int(strnum[2])**3) == number :
        return True
    else:
        return False
    

查找所有三位数中的水仙花数字。

#存储水仙花数字
daffodil_numbers = []
for i in range(100,1000) :
    if is_daffodil(i):
        daffodil_numbers.append(i)

列出所有的水仙花数字:

print(daffodil_numbers)
## [153, 370, 371, 407]