方法一 :其中的第二快两个for循环可以替换成注释里面的代码快
方法二:和方法一差不多,不同点在于if条件,及索引和方法一略有不同
方法一和方法二区别不大
欢迎点赞收藏
方法一:
int a[][]=new int[6][6];
for(int i=0;i<6;i++){
for(int j=0;j<=i;j++){
a[i][0]=1;
a[i][i]=1;
}
}
for(int i=0;i<6;i++){
for(int j=1;j<=i;j++){
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
}
/*或者用下面的代码 这两个for和注释里面的for都差不多
System.out.println("======");
for(int i=1;i<6;i++){
for(int j=1;j<i;j++){
//if(i>=2) 这个可要可不要
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
System.out.println();
}*/
for(int i=0;i<6;i++){
for(int j=0;j<=i;j++){
System.out.print(a[i][j]+" ");
}
System.out.println();
}
方法二:
System.out.println("======");
int n=6;
int arr[][]=new int[n][n];
for(int i=0;i<n;i++){
for(int j=0;j<=i;j++){
if(j==0||j==i){
arr[i][j]=1;
}
else{
arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
}
System.out.print(arr[i][j]+"\t");
}
System.out.println("");
}
方法三:
/*
使用二维数组打印一个 10 行杨辉三角
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
规律
1.第一行有 1 个元素, 第 n 行有 n 个元素
2. 每一行的第一个元素和最后一个元素都是 1
3. 从第三行开始, 对于非第一个元素和最后一个元素的元素的值. arr[i][j]
arr[i][j] = arr[i-1][j] + arr[i-1][j-1]; //必须找到这个规律
*/
int n=5;//杨辉行数
int[][] y = new int[n][];
for(int i = 0; i < y.length; i++) {//遍历yangHui的每个元素
//给每个一维数组(行) 开空间
y[i] = new int[i+1];
//给每个一维数组(行) 赋值
for(int j = 0; j < y[i].length; j++){
//每一行的第一个元素和最后一个元素都是1
if(j == 0 || j == y[i].length - 1) {
y[i][j] = 1;
} else {//中间的元素
y[i][j] = y[i-1][j] + y[i-1][j-1];
}
}
}
//输出杨辉三角
for(int i = 0; i < y.length; i++) {
for(int j = 0; j < y[i].length; j++) {//遍历输出该行
System.out.print(y[i][j] + "\t");
}
System.out.println();//换行.
}