简单递归之我见

递归:1、 就是函数自己直接或间接的调用自己。
     也就是说最终要回到自己本身。
   2、 就递归而言最重要的就是跳出结构. 因为跳出了才可以有结果
     也就是说要有个if return语句。也同时就是临界条件。
   3、 递归思想就是将一个问题转换为一个已解决的问题来实现
     也就是说 假定递归函数已经写好。将最后前后项的关系写出来。最后递归到已解决的问题(正常情况下就是给定的if结果中)
例:
1-100:
function foo( n ) {
    if ( n == 1 ) return 1;
    return n + foo( n - 1 );
}
例:
 Fibonacci 数列: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …
求其第 n 项.
function fib( n ) {
    if ( n == 0 || n == 1 ) return 1;
    return fib( n - 1 ) + fib( n - 2 );
}

## 求幂

求幂就是求 某一个数 几次方

2*2 2 的 平方, 2 的 2 次方

求 n 的 m 次方

最终要得到一个函数 power( n, m )

n 的 m 次方就是 m 个 n 相乘 即 n 乘以 (m-1) 个 n 相乘
function power ( n, m ) {
    if ( m == 1 ) return n;
  if ( m==0 ) return 1; return power( n, m - 1 ) * n; }
 


原文地址:https://www.cnblogs.com/wuhui070470/p/5759144.html