JavaScript实现杨辉三角(帕斯卡三角形)算法详解

作者:函数茶馆时间:2026-10-22 21:12:18浏览:108

本文介绍如何使用JavaScript生成杨辉三角(帕斯卡三角形)。通过给定非负整数numRows,利用二维数组存储每行数据,每个数字为其上方两数之和。文章提供完整JS代码及在线测试方法,展示从输入5到输出多层级数组的完整过程,帮助开发者掌握基础算法实现。

杨辉三角算法概述

本文通过具体实例,详细讲解如何使用JavaScript实现杨辉三角(即帕斯卡三角形)的算法,供读者参考学习。

杨辉三角,是二项式系数在三角形中的一种几何排列,在中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。 在欧洲,帕斯卡(1623-1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。 帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。

杨辉三角算法概述

题目要求与输入输出示例

算法题目要求:给定一个非负整数numRows,生成Pascal三角形的前numRows行。在Pascal三角形中,每一行的每个数字等于它上方两个数字之和。

输入示例:5

预期输出结果如下所示:

[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ]

对应的JavaScript实现代码如下:

JavaScript代码实现与测试


<script>
var generate = function(numRows) {
  if (numRows) {
    var result = [[1]];
    for(var i = 1;i < numRows;i++) {
      result[i] = [];
      for(var j = 0; j < i + 1;j++) {
        result[i][j] = (result[i - 1][j] || 0) + (result[i - 1][j - 1] || 0);
      }
    }
    return result;
  }else {
    return [];
  }
};
console.log(generate(1000));
</script>

您可以使用在线HTML/CSS/JavaScript代码运行工具(例如:http://tools.jb51.net/code/HtmlJsRun)对上述代码进行测试,以查看具体的运行结果。

杨辉三角算法概述

由于运算数据量较大,此处仅展示部分运算结果。感兴趣的朋友可自行动手测试,验证代码的实际运行效果。

如需了解更多JavaScript相关知识,建议参考本站专题:《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript数组操作技巧总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》以及《JavaScript错误与调试技巧总结》。

希望本文所述的JavaScript程序设计内容能对大家有所帮助。

作者最新文章