我不确定如何将count-forwards转换为尾递归程序。它接受一个非负整数n,并返回从0到n(包括n)的整数列表。
编辑:好吧,我终于让这个程序工作了。问题不是我的当前程序是递归的,而是我需要使它成为尾递归-它只是完全错误的。实际答案非常简短和干净。因此,如果其他人也卡在这里,而且也是完全的编程新手,这里有一些可能有帮助的提示:
1)您的辅助程序旨在跟踪到目前为止的列表。
2)它的基本情况是..如果x = 0..你会做什么?将0添加到..某物上。
3)在x-1上进行递归,然后将x添加到您目前的列表中。
4)当您到达实际程序count-forwards时,您只需要使用helper。但请记住,它需要两个参数!
编辑:好吧,我终于让这个程序工作了。问题不是我的当前程序是递归的,而是我需要使它成为尾递归-它只是完全错误的。实际答案非常简短和干净。因此,如果其他人也卡在这里,而且也是完全的编程新手,这里有一些可能有帮助的提示:
1)您的辅助程序旨在跟踪到目前为止的列表。
2)它的基本情况是..如果x = 0..你会做什么?将0添加到..某物上。
3)在x-1上进行递归,然后将x添加到您目前的列表中。
4)当您到达实际程序count-forwards时,您只需要使用helper。但请记住,它需要两个参数!