我有一个用递归计算斐波纳契级数的函数。我听说kotlin有一个关键字tailrec,它改进了递归,并将函数重写为一个循环。但是当我将这个关键字添加到这个函数中时,编译器会告诉A function is marked as tail-recursive but no tail calls are found。
need_to_update_result_based_on_x(result,x)) return result
我已经知道如何从函数中删除尾递归,但我不确定是否有直接的技术来删除循环内部的递归,如上面所示。特别是,我特别想知道是否有可能重写它,使其成为纯粹的迭代?我的意思是,它甚至不需要通过简单地实现自己的堆栈来有效地模仿递归设计?如果没有,那么重写这样的函数</em