我正在尝试使用 Java 解决递归函数练习问题,但它让我完全难住了:
Given the small integer n (0 <= n <= 40) you need to find the n-th number of the alternating Fibonacci sequence.
The sequence starts with 0, 1, -1, 2, -3, 5, -8, 13, -21, ...
So, fib(0) = 0, fib(1) = 1 => fib(2) = -1.
我可以实现查找第 N 个斐波那契数的函数,但是具体的问题要求却让我失败了。每当我尝试实现某种负数时,它最终都会搞砸算术而不是改变输出的最终数字。我的思绪不断回到创建某种仅在最顶层框架上触发的条件,但我不认为这是可以实现的。
有谁知道如何解决这个问题?这是我的基本函数,没有实现任何类型的负数要求:
public static long fib(long n){
if (n == 0){
return 0;
} else if (n == 1){
return 1;
} else if (n == 2){
return 1;
} else {
return fib(n-2)+fib(n-1);
}
}
胡子哥哥
手掌心
至尊宝的传说
陪伴而非守候
相关分类