【发布时间】:2019-02-16 21:35:14
【问题描述】:
我有一个关于尾递归的问题。据我所知,尾递归是函数的最后一次递归调用将传递函数的结果。但是当我有这样的功能时
def func1(n: Int): Int = {
if (n > 100) {
n - 10
}
else {
func1(func1(n + 11))
}
}
会是尾递归吗?例如
func1(100) = func1(func1(111)) = func1(101) = 91
所以最后一个递归调用将是 func1(101) 并且它应该提供结果,所以这将是尾递归,对吗?我有点困惑。谢谢!
【问题讨论】:
标签: scala recursion tail-recursion