返回

用JavaScript揭秘杨辉三角的奥秘

前端

前言

杨辉三角,一个令人着迷的数学结构,以其对称性和隐藏的规律而闻名。用JavaScript输出杨辉三角可能看起来令人望而生畏,但实际上,只要理解了其背后的原理,就可以轻松实现。本文将一步一步地引导你完成整个过程,让你领略编程与数学的完美结合。

JavaScript输出杨辉三角

输出杨辉三角的JavaScript代码如下:

function pascalTriangle(n) {
  if (n <= 0) {
    return [];
  }
  const triangle = [[1]];
  for (let i = 1; i < n; i++) {
    const previousRow = triangle[i - 1];
    const currentRow = [1];
    for (let j = 1; j < i; j++) {
      currentRow.push(previousRow[j - 1] + previousRow[j]);
    }
    currentRow.push(1);
    triangle.push(currentRow);
  }
  return triangle;
}

理解代码

  • 首先,我们检查给定的行数 n 是否有效,如果 n 小于等于 0,则返回一个空数组。
  • 我们初始化 triangle 数组,第一行始终为 [1]
  • 对于每行 i,我们创建 currentRow 并设置第一个元素为 1。
  • 然后,我们迭代 currentRow 的其余部分,将上一行 previousRow 的相邻元素相加,得到当前行的值。
  • 最后一列始终为 1,因此我们将其推送到 currentRow 中。
  • currentRow 推送到 triangle 数组中,表示一行已完成。
  • 重复上述步骤,直到我们生成所有 n 行。
  • 最终,我们返回 triangle 数组,其中包含杨辉三角的前 n 行。

示例

让我们输出 5 行杨辉三角:

const triangle = pascalTriangle(5);
console.log(triangle);

输出:

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

结论

通过本文提供的JavaScript代码,你可以轻松地输出杨辉三角的任意行数。理解了代码背后的数学原理,你可以进一步探索其在数学和计算机科学中的应用。编程与数学的结合是无穷无尽的,杨辉三角就是一个完美的例子,展示了这两门学科如何和谐地交织在一起。