Euler's Sum of Powers Conjecture

转帖:Euler's Sum of Powers Conjecture

存不存在四个大于1的整数的五次幂恰好是另一个整数的五次幂?

暴搜:O(n^4)

用dictionary:O(n^3)

 1 import itertools
 2 
 3 def euler(m):
 4     """Yield tuples (a, b, c, d, e) such that a^5 + b^5 + c^5 + d^5 = e^5,
 5     where all are integers, and 1 < a ≤ b ≤ c ≤ d < e < m."""
 6     powers = [e**5 for e in range(2, m)] 
 7     pairs  = {sum(pair): pair 
 8               for pair in itertools.combinations_with_replacement(powers, 2)}
 9     for pair1 in pairs:
10         for e5 in powers:
11             pair2 = e5 - pair1
12             if pair2 in pairs:
13                 yield fifthroots(pairs[pair1] + pairs[pair2] + (e5,))
14     
15 def fifthroots(nums): 
16     "Sorted integer fifth roots of a collection of numbers." 
17     return tuple(sorted(int(round(x ** (1/5))) for x in nums))

 

转载于:https://www.cnblogs.com/niuxichuan/p/10044640.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值