Python算法之水仙花数

Python算法之水仙花数

水仙花数,又称超完全数字不变数,是指一个n位数(n>=3),它的每个数位上的数字的n次幂之和,等于它本身。

1.找出三位水仙花数

代码:

for num in range(100,1000):
    a=int(num/100)
    b=int((num-a*100)/10)
    c=num-a*100-b*10
    if a**3+b**3+c**3==num:
        print('三位水仙花数为{}'.format(num))

运行结果:

三位水仙花数为153
三位水仙花数为370
三位水仙花数为371
三位水仙花数为407

2.找出五位水仙花数

代码:

for i in range(10000, 100001):
    sum = 0
    temp = i
    while temp:
        sum += (temp % 10) ** 5
        temp //= 10 
    if sum == i:
        print('五位水仙花数:', i)

运行结果:

五位水仙花数: 54748
五位水仙花数: 92727
五位水仙花数: 93084

说明:

在Python中,/表示浮点数除法,返回值是浮点数;//表示整数除法,返回值是整数

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章