斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34,55,89...这个数列从第3项开始,每一项都等于前两项之和。
题目:要求传入这个数列的位数(n)得到这位数的值
测试用例:
传入:n=5
期望得到值:5
代码如下:
//递归方法
function f(n) {
if(n <= 2){
return 1;//在这里让f(1)f(2)为 1
}else{
return f(n-1) + f(n-2);
}
}
console.log(f(5)); //5
代码解释
return f(n-1) + f(n-2);这里采用了递归调用自己
将 f(5) 带入可以得到 f(4)-f(3)这里要再次调用所有有了下图:
所以最终输出为5。