【发布时间】:2011-07-01 15:37:53
【问题描述】:
我不确定如何将前向计数转换为尾递归程序。它接受一个非负数n,并返回从0 到n(包括n)的整数列表。
编辑:好的,我终于让这个工作了。问题不在于我当前的程序是递归的,而我需要使它成为尾递归的——这完全是错误的。实际的答案真的很简短。因此,如果其他人对此感到困惑并且也是一个编程新手,这里有一些提示可能会有所帮助:
1) 您的帮助程序旨在跟踪到目前为止的列表。
2) 它的基本情况是.. 如果 x = 0.. 你会做什么?加0到..某事。
3) 在 x - 1 上重复,然后将 x 添加到您的列表中。
4) 当您开始执行实际程序时,向前计数,您所需要的只是助手。但请记住,它需要两个参数!
【问题讨论】:
-
我相信你的意思是
count-up。 -
哦!我没有意识到它已经是尾递归了。 o_o
-
SO 可能不是问硬件问题的最佳场所。
-
为什么不呢? :/ 我只知道 irc 和 s.o.作为获取帮助的在线资源。
标签: recursion functional-programming scheme tail-recursion