递归

  一个台阶总共有n级,如果一次可以跳1级,也可以跳2级...,也可以跳上n级,此时跳上一个n级的台阶总共有多少种跳法

  递归函数的返回值,2*f(n-1),是数学归纳出来的

      f(n) = f(n-1) + f(n-2) + … + f(n-(n-1)) + f(n-n);
即,  f(n) =   f(0) + f(1) + f(2) + f(3) + … + f(n-2) + f(n-1);
得出,f(n-1) = f(0) + f(1) + f(2) + f(3) + … + f(n-2);
替换,f(n) =  f(n-1) + f(n-1);
      f(n) =  2*f(n-1);

  c语言,递归代码

int f(int n) {
    if(n==0) 
        return 0;
    else if(n==1)
        return 1;
    else
        return 2*f(n-1);
}
原文地址:https://www.cnblogs.com/GoldenEllipsis/p/13463704.html