递归算法

Posted lxz123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归算法相关的知识,希望对你有一定的参考价值。

1.用递归算阶乘 5的阶乘

function fn(n)
if (n == 1) return 1;
return n * fn(n - 1);
console.log(fn(5));
2.利用递归求1 - 100的和
function fn(n)
if (n <= 1) return 1;
else
return n + fn(n - 1);
console.log(fn(5));
3.兔子 3 个月成年 -> 繁殖 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987
function fn(n)
  if(n==1|| n==2) return 1;
  return fn(n-1)+fn(n-2);
console.log(fn(10));
4. 求最大公约数
function fn(m, n)
  var r;
  r = m % n;
  m = n;
  n = r;
  if (r != 0)
    return fn(m, n);
   else
    return m;
  
console.log(fn(14, 24));
5.算1!+2!+3!+……+n!
function fn(n)
  if (n <= 1) return 1;
  return n * fn(n - 1);
function fn1(n)
  var sum = 0;
  for (i = 1; i <= n; i++)
    sum += fn(i);
  
  return sum;
console.log(fn1(4));

以上是关于递归算法的主要内容,如果未能解决你的问题,请参考以下文章

递归算法

python之路-递归算法

js实现递归算法

JAVA递归算法

用递归算法解决问题

Python进阶:递归算法