1. 首页
  2. 考试认证
  3. 其它
  4. JavaScript中的递归实践 基础算法与河内塔解法

JavaScript中的递归实践 基础算法与河内塔解法

上传者: 2024-10-28 03:11:58上传 ZIP文件 1.31KB 热度 3次

递归是解决许多编程问题的强大工具。以下是两个基本的递归示例。

因子

这是一个经典的数学问题,计算阶乘:

阶乘(n) = n * 阶乘(n - 1)

阶乘(1) = 1

例如,factorial(4) = 4 * 3 * 2 * 1 = 24

代码实现:


function factorial(n) {  

    if (n == 1) {  

        return 1;  

    } else {  

        return n * factorial(n - 1);  

    }  

}  

河内塔之谜

河内塔是一个经典的递归问题,目标是将所有盘片从起始柱移动到目标柱,遵循规则:

  1. 一次只能移动一个盘。

  2. 大盘不能放在小盘上。

代码实现:


function hanoi(disc, src, aux, dst) {  

    if (disc > 0) {  

        hanoi(disc - 1, src, dst, aux);  

        console.log('Move disc ' + disc + ' from ' + src + ' to ' + dst);  

        hanoi(disc - 1, aux, src, dst);  

    }  

}  

用户评论