//杨辉三角
import java.util.Scanner;
public class YangHuiTriangle{
public static void main(String[] args) { //主函数
while(true){
int lineCount = getLine();
if(lineCount == 0){
break;
}
int[][] arr = makeArr(lineCount);
showArr(arr);
}
}
public static int getLine(){ //获取行数
Scanner scan = new Scanner(System.in);
System.out.print("请输入行数:");
return scan.nextInt();
}
public static int[][] makeArr(int lineCount){ //创建对应二维数组
int[][] arr = new int[lineCount][];
for(int i = 0; i < arr.length; i++){
arr[i] = new int[i + 1];
}
return arr;
}
public static void showArr(int[][] arr){ //显示杨辉三角,包括赋值、格式化输出
for(int i = 0; i < arr.length; i++){ //给数组元素赋值
for(int j = 0; j < arr[i].length; j++){
if(j == 0 || j == arr[i].length - 1){
arr[i][j] = 1;
}else {
arr[i][j] = arr[i-1][j] + arr[i-1][j-1];
}
}
}
for(int i = 0; i < arr.length; i++){ //三角形格式输出
for(int k = 1; k < arr.length - arr[i].length + 1; k++){
System.out.print(" ");
}
for(int j = 0; j < arr[i].length; j++){
System.out.printf("%-3d ",arr[i][j]);
}
System.out.println();
}
}
/*
//获取行数
Scanner scan = new Scanner(System.in);
System.out.print("请输入行数:");
int lineCount = scan.nextInt();
System.out.println("行数为:" + lineCount);
//创建三角形二维数组
int[][] arr = new int[lineCount][];
for(int i = 0; i < arr.length; i++){
arr[i] = new int[i + 1];
}
//给数组赋值
for(int i = 0; i < arr.length; i++){
for(int j = 0; j < arr[i].length; j++){
if(j == 0 || j == arr[i].length - 1){
arr[i][j] = 1;
}else {
arr[i][j] = arr[i-1][j] + arr[i-1][j-1];
}
}
}
//打印杨辉角形
for(int i = 0; i < arr.length; i++){
for(int k = 1; k < lineCount - arr[i].length + 1; k++){
System.out.print(" ");
}
for(int j = 0; j < arr[i].length; j++){
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
*/
}