我正在做三角形数字的挑战。重点是要找出任何两个三角形数字的总和是否等于输入n。我得到它的工作,但显然它需要很长时间,他们希望更快。加速嵌套循环
我写它的方式,它把所有的三角形数字放入一个列表中,然后循环查看列表中是否有任何数字符合条件。我不知道如何使循环更快,并阅读这里的类似帖子,我不知道如何将其应用于这种情况。
下面是代码:
def Triangular(n):
lst = []
for i in range(1, n + 1):
lst.append((i** 2 + i)//2)
yn = False
for i in lst:
for j in lst:
if i*i + j*j == n:
yn = True
break
else:
continue
return yn
您可能要问[codereview.se] – zondo
_“关键是要弄清楚任何两个三角形数字的** sum **是否等于输入n”_ - 那么为什么你的代码看起来像**的平方**的总和? – Eric
因为我输错了 – JonnyDoeInWisco