【发布时间】:2016-09-30 02:31:32
【问题描述】:
我的代码在这里,它是斐波那契递归方法的一种变体。我正在尝试显示正确的 n 值,但它根本不起作用......我总是在三重斐波那契中偏离一个位置(意味着三重斐波那契数字受斐波那契数字的启发,但从三个预定值开始,每个之后的值是前三个值的总和,而不是斐波那契中的 2)
public long BinaryOddonacci(int n){
if (n<=2){ // If the n is 0,1 or 2 the answer is 1
return 1;
}
else {return BinaryOddonacci(n-1) + BinaryOddonacci(n-2) + BinaryOddonacci(n-3);} // recursive call
}
我应该得到 BinaryOddonacci(10) 的输出是 105,但我一直得到 193,这是我应该得到 BinaryOddonacci(11) 的输出...
【问题讨论】:
-
“它根本不起作用......我总是在三重斐波那契中偏离一个位置”请举一个具体的例子。实际输出是什么?它与您的预期有何不同?
-
@Code-Apprentice 已添加!
-
让我们回到更简单的东西。
BinaryOddonacci(3)应该是什么?你实际上得到了什么? -
为什么输入0的结果是1?对于正常的斐波那契,对于输入 0,此结果为 0。