用仅使用for 循环解决杨辉三角问题,不使用数组
时间: 2024-10-15 11:27:28 浏览: 28
杨辉三角是一个经典的数学问题,它通常用来表示二项式系数。在没有数组的情况下,我们可以使用嵌套循环和两个变量来模拟这个过程。我们将打印每一行的数字,而不是创建一个完整的二维数组。
这是一个简单的JavaScript代码示例:
```javascript
function printPascalTriangle(n) {
let row = 0;
while (row < n) {
// 打印当前行的空格
let spaces = ' '.repeat(row);
// 打印左侧的1
console.log(spaces + '1');
for (let col = 1; col <= row; col++) {
let num = 1; // 初始化数字为1
if (col > 1) {
num = pascalValue(row - 1, col - 1); // 计算当前单元格的值
}
console.log(num + ' ');
}
// 移动到下一行并打印下一个1
row++;
console.log('');
// 如果不是第一行,就计算上一行的数值用于当前行
if (row > 1) {
for (let i = row - 1; i >= 1; i--) {
pascalValue(i, 1) = pascalValue(i, 2); // 更新上一行的值
}
}
}
}
// 杨辉三角的一个辅助函数,用于递归计算某个位置的值
function pascalValue(row, col) {
return (row === col || row === col - 1) ? 1 : pascalValue(row - 1, col - 1) + pascalValue(row - 1, col);
}
printPascalTriangle(5); // 输出前5行的杨辉三角
```
阅读全文