我有一系列数字,我需要找到它们的总和。第一次迭代操作的值是 1,第二次是 20。接下来的每次迭代都使用公式 n * (n + 1) / 2 中的前一个结果,所以第三次迭代,比如 i03 = 20 * (20 + 1) / 2,第四个,i04 = i03 * (i03 + 1) / 2。这一直持续到 i20 = i19 * (i19 + 1) / 2 的第 20 次迭代。我想使用记忆来做到这一点。这是我的代码:
def outFun():
def sumFun(squares, total = 0, CONST = 20):
if squares > 2:
total = sumFun(squares - 1) * int((sumFun(squares - 1) + 1) / 2)
elif not squares - 2:
total = CONST
return total
return 1 + sumFun(20)
我究竟做错了什么?