所以我尝试在python中使用递归来创建Recaman的序列,但我很难做到这一点。你知道吗
我知道雷卡曼的序列是怎么运作的。在我的例子中,给定rec(n),如果值以前没有出现在序列中,则每n项等于前一项减去n,否则等于前一项减去n。你知道吗
这个问题的主要问题是如何“保存”每个rec(n)以检查它以前是否出现过,然后将现有的n与该值进行比较。你知道吗
到目前为止,我的代码没有显示太多内容,但我相信我必须添加一个参数,并使用包装函数/累计递归来实现这一点。你知道吗
这是我当前的代码,它肯定不工作,但我试图存储在一个列表中的值。你知道吗
def rec(n):
list = []
if n == 0:
return 0
elif rec(n-1) - n in list:
list.append(rec(n-1) - n)
return rec(n-1) - n
else:
list.append(rec(n-1) + n)
return rec(n-1) + n
感谢您的帮助,谢谢!你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐