语言基础函数编程

函数递归-js-v1.0.0

2019-07-29  本文已影响0人  一点金光
---
title:函数递归
date: 2018-06-09 16:29:00
updated: 2018-06-10 12:00:00
categories:
- 语言基础
- 函数编程
tags:
- nodejs
---

#什么是它?

自己调用自己

#如何创建?

#一些示例?

//01循环体为:函数+参数
// 用递归求——数的阶乘
// n! = n * (n-1)!
function func(n){
    //定义退出条件
    if (n == 1){
        return 1;
    }
    return n * func(n-1);
}
console.log(func(5));

//02循环体为:函数+函数
// 用递归求——斐波拉契
function rabbit(n){
    if (n == 0 || n == 1){
      return 1;
    }
    return rabbit(n-1) + rabbit(n-2);
}
console.log(rabbit(22));

// 用递归求——各数之和
function sum(n) {
  if(n===1){
      return 1;
  }
  return sum(n-1)+n;
}
console.log(sum(100));

/**
 * 用递归求——各数之和 修改版
 * @param {*} end 结束之数
 * @param {*} start 开始之数
 */
function sum2(end,start) {
  if(end===start){
      return start;
  }
  return sum(end-1,start)+end;
}
console.log(sum2(100,1));
上一篇 下一篇

猜你喜欢

热点阅读