【发布时间】:2017-04-22 12:34:55
【问题描述】:
基本上我想要这个函数做的是:
- 取一个整数输入并保存为
n - 打印包含两个条目
(a,b)的向量列表,其中
例如,当我输入n = 443889时,我应该得到[(76,17),(38,73)]的输出,因为这个问题的唯一解决方案是:和
但是使用我的代码,当我给出输入 n=443889 时,我得到输出 [(76, 17), (75, 28), (74, 34), (73, 38), (72, 41)],即使其中一些向量没有给出我的方程的解。
def ramanujans(n):
lista = []
counter = 0
for a in range(1,n):
b = (n- (a**3))**(1/3)
result = a**3 + b**3
if isinstance(b,complex):
break
elif result == n:
b = int(round(b))
lista.insert(0,(a, b))
return (lista)
【问题讨论】:
标签: python-3.x math output equation