python求助习题解答
本帖最后由 liujieaipojie 于 2019-7-28 17:49 编辑我关注了一个python公众号,每次文章下面都会有一个小习题,答对了还有几率能送python书籍,挺不错的(具体啥就不说了,免得成了打广告了,纯学习帖子)。小的才学python不久,实在是搞不来这个,这个应该是跟秋水仙素这种题相似,但是有些函数还有表达式我不太懂,实在是不会写了,有大佬能帮忙看看不。打个比方:
1634 = 1** 4 + 6** 4 + 3 **4 + 4** 4
8208 = 8** 4 + 2 **4 + 0** 4 + 8** 4
9474 = 9 **4 + 4 **4 + 7 **4 + 4 **4
python的幂次我记得是**来表示的吧
由于1 = 1** 4不是总和,因此不包括在内。
这些数字的总和是1634 + 8208 + 9474 = 19316
比如 4150 =它的每个数字的5次幂的和,那么你在所有的数字比如2 到一个亿里面遍历,找找有没有其他这样的数字、然后把和加起来,总和是多少?
对于大佬来说这个应该比较简单吧,能不能提供下方法给我,教教孩子吧{:1_932:}
看不懂了{:1_909:}我也刚好在学,你的一个亿会不会太大 for i in range(2,10000):
one=int(i%10)
two=int((i%100-one)/10)
three=int((i%1000-10*two-one)/100)
four=int((i%10000-100*three-10*two-one)/1000)
if (pow(one,4)+pow(two,4)+pow(three,4)+pow(four,4))==i:
print(i)
else:
pass 4l已经正解 本帖最后由 Miko酱 于 2019-7-28 19:21 编辑
emmm 窝先纠正一下 首先你这个题目是求玫瑰花数的 类似求水仙花数 他的形式是 abcd = a^4 + b^4 + c^4 + d^4
四叶玫瑰数是4位数的自幂数。自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身
所以你说在所有的数字里比如2到1亿显然是不合理的。
这里窝给出窝的解答。。。
def get_rose_num():
for i in range(1000,100000):
d = i % 10
c = i % 100 // 10
b = i % 1000 // 100
a = i // 1000
if(i == a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d):
print(i)
木头127 发表于 2019-7-28 18:45
for i in range(2,10000):
one=int(i%10)
two=int((i%100-one)/10)
刚开始学,收藏了{:1_921:} 玥璺 发表于 2019-7-28 19:24
刚开始学,收藏了
加油加油,我也是前不久才开始学 lu_ 发表于 2019-7-28 18:09
看不懂了我也刚好在学,你的一个亿会不会太大
这个是出题人写的,楼下小伙伴解释过了,没有这么大{:1_900:} 木头127 发表于 2019-7-28 18:45
for i in range(2,10000):
one=int(i%10)
two=int((i%100-one)/10)
大佬,学习了,涨知识,蟹蟹蟹蟹{:1_919:} Miko酱 发表于 2019-7-28 19:19
emmm 窝先纠正一下 首先你这个题目是求玫瑰花数的 类似求水仙花数 他的形式是 abcd = a^4 + b^4 + c^4 + d^ ...
原来如此,长见识了,下回吸取教训{:1_919:}感谢各路大仙相助,提供解答,么么
页:
[1]