杨辉三角是一个经典的编程案例。简单描述:除第一行外,每个数都等于他上方两个数之和,如下图所示。
由图可看出规律:
arr[0][0]=1
arr[1][0]=1 arr[1][1]=1
arr[2][0]=1 arr[2][1]=2 arr[2][0]=1
arr[3][0]=1 arr[3][1]=3 arr[3][2]=3 arr[3][3]=1
.........
arr[i][0]=1 arr[i][1]=arr[i-1][0]+arr[i-1][1]..............arr[ i ][ j ]=1
我们可以得出:当i=j的时候,arr[i][j]=1;
当i=0的时候,arr[i][j]=1。
arr[ i ][ j ]=arr[ i - 1][ j - 1] + arr[ i - 1][ j ]
代码如下:
<script>
var num=prompt('请输入行数:')
var arr=[];
function sanjiao(num){
for(var a=0;a<num;a++){
arr.push([]);//在空数组里创建二维数组,即arr[[],[],[]]
}
for(var i=0;i<10;i++){ //i行数
for(var j=0;j<=i;j++){ //j列数
if (i == j || j==0) {
arr[i][j] = 1;
} else {
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
}
}
}
return arr;
}
var b =sanjiao(num);
console.log(b);
</script>
打印结果为: