起源: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 = []