【发布时间】:2016-10-04 10:17:15
【问题描述】:
我正在尝试编写线性递归三重斐波那契(意思是三重斐波那契数的灵感来自斐波那契数,但从三个预定值开始,之后的每个值都是前三个值的总和。)
其中一个约束基本上是使其尾递归,但到目前为止我还没有机会使用这段代码:
public class TailRecursiveOddonacci {
public long tailOddonacci(int n) {
if (n <= 3) {
return 1;
}
return tailOddonacciRecursion(0, 1, 2, n);
}
private long tailOddonacciRecursion(int a, int b, int c, int count) {
if(count <= 0) {
return a;
}
return tailOddonacciRecursion(b, a+b, a+b+c, count-1);
}
}
我很难找出它为什么不起作用...
编辑:在这种情况下, n 是一个非负整数。例如,10 应该返回 105,或者 5 应该返回 5。
【问题讨论】:
-
你怎么称呼这段代码?
n的值是多少? -
@manetsus 仍然不起作用... 10 因为 n 给了我 34