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
int row = 10;//假设打印10行的杨辉
int[][] yangHui = new int[row][];//第二个[]row省略时,会空指针需要加一个for循环来开辟空间,
//第二个[]row不省略时,不需要写以下的第一个for循环
for(int i = 0;i <yangHui.length;i++){
yangHui[i] = new int[i+1];//第i行有i+1个数据,元素开辟完毕
}
for(int i = 0 ; i < yangHui.length ;i ++){
for( int k = 0 ; k < yangHui[i].length; k++){
if( k == 0 || i == k){//为1时的情况,第一列和行数和列数相等时
yangHui[i][0] = yangHui[i][i]=1;
}else {
yangHui[i][k]=yangHui[i-1][k]+yangHui[i-1][k-1];//等于上一个数+上一个数左侧数
}System.out.print(yangHui[i][k]+"\t\t\t");
}
System.out.println();