//杨辉三角形
/*
* 思路:1、定义二维数组
* 2、遍历数组的每一行,给每一行的第一列和最后一列,均赋值为1
* 3、遍历每一行的列,并给num[i][j]赋值
//第一种写法
Scanner cin=new Scanner(System.in);
System.out.println("请输入一个正整数:");
int n=cin.nextInt();
int trigle[][]=new int[n][n];
for(int i=0;i<n;i++){
trigle[i][0]=trigle[i][i]=1; //第一列和每一行的最后一列,均赋值为1
for(int j=1;j<i;j++){
trigle[i][j]=trigle[i-1][j]+trigle[i-1][j-1];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<=i;j++){
System.out.print(trigle[i][j]+" ");
}
System.out.println();
}
//第二种写法
int num[][]=new int[8][];
for(int i=0;i<num.length;i++){ //遍历每一行
num[i]=new int[i+1]; //给每一行定义长度,长度大于1,所以加1
for(int j=0;j<=num[i].length-1;j++){ //遍历列
if(i==0||j==0||j==num[i].length-1){ //第一行和第一列和最后一列,赋值1
num[i][j]=1;
}else{
num[i][j]=num[i-1][j]+num[i-1][j-1];
}
System.out.print(num[i][j]+"\t");
}
System.out.println();
}
/*
* 思路:1、定义二维数组
* 2、遍历数组的每一行,给每一行的第一列和最后一列,均赋值为1
* 3、遍历每一行的列,并给num[i][j]赋值
* 4、循环输出
*/
public static void main(String[] args) {//第一种写法
Scanner cin=new Scanner(System.in);
System.out.println("请输入一个正整数:");
int n=cin.nextInt();
int trigle[][]=new int[n][n];
for(int i=0;i<n;i++){
trigle[i][0]=trigle[i][i]=1; //第一列和每一行的最后一列,均赋值为1
for(int j=1;j<i;j++){
trigle[i][j]=trigle[i-1][j]+trigle[i-1][j-1];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<=i;j++){
System.out.print(trigle[i][j]+" ");
}
System.out.println();
}
//第二种写法
int num[][]=new int[8][];
for(int i=0;i<num.length;i++){ //遍历每一行
num[i]=new int[i+1]; //给每一行定义长度,长度大于1,所以加1
for(int j=0;j<=num[i].length-1;j++){ //遍历列
if(i==0||j==0||j==num[i].length-1){ //第一行和第一列和最后一列,赋值1
num[i][j]=1;
}else{
num[i][j]=num[i-1][j]+num[i-1][j-1];
}
System.out.print(num[i][j]+"\t");
}
System.out.println();
}