码迷,mamicode.com
首页 > 编程语言 > 详细

递归算法

时间:2019-08-31 15:01:51      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:UNC   func   var   else   bsp   i++   递归   str   ret   

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));

递归算法

标签:UNC   func   var   else   bsp   i++   递归   str   ret   

原文地址:https://www.cnblogs.com/lxz123/p/11438806.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!