递归的实现

简介: 用递归实现一个阶乘算法5! = 5 * 4 * 3 * 2 * 1 = 120用递归function factorial(n) { if (n === 0) { return 1; } else { return n * factorial...
用递归实现一个阶乘算法

5! = 5 * 4 * 3 * 2 * 1 = 120

用递归
function factorial(n) {
    if (n === 0) {
        return 1;
    } else {
        return n * factorial(n - 1);
    }
}



用栈操作 function fact(n) { var s
= new Stack(); while (n > 1) { //[5,4,3,2] s.push(n--); } var product = 1; while (s.length() > 0) { product *= s.pop(); } return product; } fact(5) //120

 

相关文章
|
26天前
使用递归
【10月更文挑战第20天】使用递归。
18 8
|
23天前
递归
【10月更文挑战第23天】递归。
14 4
|
6月前
|
算法 C语言
c递归
c递归
42 2
|
存储
【递归知识+练习】
【递归知识+练习】
72 0
|
JavaScript 前端开发
什么是递归?
什么是递归?
105 0
|
Java 数据安全/隐私保护 决策智能
字符串全排列(递归)
字符串全排列,递归的应用
151 0
|
算法 Python
递归的使用
递归的使用
53 0
|
算法 索引
第 6 章 递归
简单的说: 递归就是方法自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。
67 0
|
存储 Serverless 开发者
递归的理解与实现
递归的理解与实现
递归的理解与实现