Python中求R阶梅花数的程序,急

发布网友

我来回答

2个回答

热心网友

n = 5 #阶数 ,可以把这里逻辑改成输入获取input ,当然数据n太大python就报错了
print filter(lambda x:sum(map(lambda x:int(x)**n,str(x)))==x,range(10**(n-1),10**n))

热心网友

最暴力的代码

for r in range(10):
    for a in range(1,9):
        for b in range(10):
            for c in range(10):
                for d in range(10):
                    for e in range(10):
                        if a**r+b**r+c**r+d**r+e**r == a*10000+b*1000+c*100+d*10+e:
                            print(a*10000+b*1000+c*100+d*10+e)

追问几阶就有几位数,这个不能全部适用啊

追答for r in range(1, 100):
    print('R=' + str(r))
    for i in range(10**(r-1),10**r-1):
        s = 0
        for j in str(i):
            s += int(j)**r
        if s == i:
            print(i)

 更加暴力

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com