javascript中怎么实现打印一个杨辉三角形的前5行?

javascript中怎么实现打印一个杨辉三角形的前5行?用循环嵌套的写法怎么写呢?


        function test() {
            var arr = new Array();
            for (var i = 0 ; i < 20 ; i++) {
                if (i == 0) {
                    arr.push(1);
                }
                else if (i == 1) {
                    arr = new Array();
                    arr.push(1);
                    arr.push(1);
                }
                else {
                    var arr2 = new Array();
                    arr2.push(1);
                    for (var j = 0; j < arr.length - 1; j++) {
                        arr2.push(arr[j] + arr[j + 1]);
                    }
                    arr2.push(1);
                    arr = new Array();
                    arr = arr2;
                }
                console.log(arr.join(" "));
            }
        }
        test();

代码如下:


输出题设中给出的9*9的杨辉三角
var level=10,i,j; var yh=new Array(); for(i=0;i<level;i++) { yh[i]=new Array(); } for(i=0;i<level;i++) { for(j=0;j<=i;j++) { if(i==j||j==0) { yh[i][j]=1; } else { yh[i][j]=yh[i-1][j]+yh[i-1][j-1]; } document.write(yh[i][j]+" "); if(i==j)document.write("<br>"); }//end loop j }//end loop i


运行效果:

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1

var write=function() {
for(var i=0;i document.write(" "+arguments[i]);
}
}var fun=function(n) {
var k;
for(var i=1;i k=1;
for(var j=1;j write(k);
k=k*(i-j)/j;
}
write("1
");
}
};
fun(5);