分析:斐波那契数列指的是这样一个数列1,1,2,3,5,8,13,21,34,55,89...
每一个后面相加的都是我们分析的前一项
function fnn(n){
if(n==1||n==2){
return 1;
}
else{
return fnn(n-1)+fnn(n-2);
}
}
var res2=fnn(7);
console.log(res2);
运行结果如下:
分析:
1.fnn(6)+fnn(5),那么if条件不成立,所以执行return fnn(6-1)+fnn(5-1)->8+5=13
2.fnn(5)+fnn(4),那么if条件不成立,所以执行return fnn(5-1)+fnn(4-1)->5+3=8
3.fnn(4)+fnn(3),if条件不成立,所以执行fnn(4-1)+fnn(3-1)->3+2=5
4.fnn(3)+fnn(2),此时fnn(3)if条件不成立,fnn(2)if条件成立,返回1,所以fnn (3)执行return fnn(3-1)+fnn(3-2)->2+1=3
5.fnn(2)+fnn(1),此时if条件都成立,返回1->1+1=2