我想用这种格式打印数字。
1
121
12321
1234321
123454321
我写了一个打印一些数字的函数,但它与输出不一样。我认为该错误可能在for循环之一内。 这是我的代码:
var numRows = 5,
triangle,
start,
stop;
function pascalRecursive(n, a) {
if (n < 2) return a;
var prevRow = a[a.length-1];
var curRow = [1];
for (var i = 1; i < prevRow.length; i++) {
curRow[i] = prevRow[i] + prevRow[i];
}
curRow.push(1);
a.push(curRow);
return pascalRecursive(n-1, a);
}
var triangle = pascalRecursive(numRows, [[1]]);
for(var i = 0; i < triangle.length; i++)
console.log(triangle[i]+"\n");
答案 0 :(得分:0)
您可以使用地图功能将上一行的所有数字增加1 然后在前面和后面贴上1。
function pascalRecursive(n, a) {
if (n < 2) return a;
var prevRow = a[a.length - 1];
var prevRowIncreased = prevRow.map(x => x + 1);
a.push([1,...prevRowIncreased,1]);
return pascalRecursive(n - 1, a);
}