public static void main(String[] args) {
printTriangle(yangHuiTriangle(9));
}
public static int[][] yangHuiTriangle(int n) {
int[][] triangle = new int[n][]; //定义一个二维数组,n行,第二维保存每一行的元素
for(int i=0; i < n; i++) {
triangle[i] = new int[i+1]; //每i行有i个元素,i初始为0,所有i+1
for(int j=0; j < triangle[i].length ;j++) {
if(i==0 || j==0 || j==i)
triangle[i][j]=1;
else
triangle[i][j] = triangle[i-1][j]+triangle[i-1][j-1];
}
}
return triangle;
}
public static void printTriangle(int[][] arr) {
int n=arr.length;
int m=0;
for(int i=0; i<n; i++) {
m=arr[i].length;
for(int j=0; j<(n-i); j++) {
System.out.print(" ");
}
for (int j = 0; j < m; j++) {
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}
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