水仙花数

题目内容:

水仙花数是指一个n位数 (n≥3),它的每个位上的数字的n次幂之和等于它本身。

例如:153是一个“水仙花数”,因为 153 是个 3位数,而1**3+5**3+3**3==153。

输入一个正整数max,输出100到max之间的所有水仙花数(包括max)。

输入格式:

共一行,为一个正整数。

输出格式:

若干行,从小到大输出水仙花数,一行为一个数。

输入样例:

2500

输出样例:

153

370

371

407

1634


import math

max=int(input("max=:"))

for i in range(100,max+1):

    a=len(str(i))

    s=0

    x=list(map(int,str(i)))

    for j in range(a):

        s=s+x[j]**a

    if i==s:

        print(s)


n = int(input())

for i in range(152, n+1):

    l=len(str(i))

    result = sum(map(lambda x: int(x)**l, str(i)))

    if result == i:

        print(i)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容