首页 > 代码库 > 使用递归,计算斐波那契数列

使用递归,计算斐波那契数列

使用递归,计算斐波那契数列

function fib(num) {  if (num > 2) {    return fib(num - 2) + fib(num - 1);  } else {    return 1;  }}fib(6)

运行过程

1. return fib(4)+fib(5)

2.return fib(2)+fib(3)+fib(3)+fib(4)

3.return 1+fib(1)+fib(2)+fib(1)+fib(2)+fib(2)+fib(3)

4.return 1+1+1+1+1+1+fib(1)+fib(2)

5.return 1+1+1+1+1+1+1+1=8

所以结果为8

 

函数表达式定义函数时,若带上函数名,则函数名只在函数内部有效,

作用:递归调用本身

  var sum = function x(num){

    if(num>2){

      return x(num-2)+x(num-1);

    }else{

      return 1;

     }

  }

sum(6)

x(5)    //x is not defined

 

使用递归,计算斐波那契数列