用js解决杨辉三角问题
时间: 2024-10-10 19:17:43 浏览: 38
杨辉三角_用c语言怎么编程
杨辉三角(Pascal's Triangle)是一个经典的数学问题,它的每一行都是前一行的数字相加得到的结果,且最左边和最右边的数字始终为1。在JavaScript中,我们可以使用动态规划的方式来生成杨辉三角。
以下是一个简单的JavaScript函数,它递归地生成并打印杨辉三角:
```javascript
function printPascalTriangle(n) {
let triangle = [];
// 初始化第一行和第二行
if (n >= 0) {
triangle.push([1]);
if (n >= 1) {
triangle.push([1, 1]);
}
}
for (let i = 2; i < n; i++) {
let newRow = [1]; // 新行的第一个元素始终为1
let prevRow = triangle[i - 1];
for (let j = 1; j < i; j++) {
newRow.push(prevRow[j - 1] + prevRow[j]); // 当前行的当前元素等于上两行对应位置元素之和
}
newRow.push(1); // 新行的最后一个元素始终为1
triangle.push(newRow);
}
// 打印三角形
for (let row of triangle) {
console.log(row.join(" "));
}
}
// 示例:生成5行的杨辉三角
printPascalTriangle(5);
```
当你运行这段代码时,它会输出前五行的杨辉三角形。
阅读全文