寻找拉马努金数(Python实现)

本文介绍了数学家拉马努金关于1729的独特见解,并提出了一种Python程序来验证他的理论。该程序通过循环枚举的方式寻找小于或等于给定整数N的所有数,这些数可以由四個不同正整数的立方和表示。文章讨论了不同的算法思路,并指出快速求解的关键在于避免过度的计算时间。
摘要由CSDN通过智能技术生成

起源:Srinivasa Ramanujan是一个因他在数字上的天分而出名的印度数学家。有一天,英国数学家G.H.Hardy来拜访他,Hardy提到自己乘坐的出租车标有一个相当无聊的数字1729。Ramanujan 当即回答道,“不,Hardy!不,Hardy!这是一个非常有趣的数字!”。Ramanujan说:“对1729这个数字,存在2组不同的数,且每组只有2个数值,每一组数值的立方和等于1729,且1729是能够被两组不同的数按上述条件表达的数中最小的那个!”。
要求:验证这句话是否正确。程序将整数N作为输入,按一定格式返回所有能够被上述方法表示的小于或等于N的整数。换句话说,就是找到4个不同的正整数a、 b、 c、 d,且满足a3+b3=c3+d3
思路:利用四个循环,使用枚举的思想从a=1,b=1,c=2,d=2开始对数据一个一个试错。
代码:

def ramanujan(n):
    results = []
  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值