杨辉三角的打印
package com.qianfeng.day06;
//杨辉三角
public class Work01 {
public static void main(String[] args) {
int[][] a = new int[11][11];
a[1][1] = 1;
for (int i = 2; i < a.length; i++) {
for (int j = 1; j < a[i].length; j++) {
a[i][j] = a[i-1][j] + a[i-1][j-1];
}
}
for (int i = 1; i < a.length; i++) {
for (int j = a[i].length-i-1; j > 0; j--) {
System.out.print("\t");
}
for (int j = 1; j <= i; j++) {
System.out.print(a[i][j] + "\t\t");
}
System.out.println();
}
for (int i = 1; i < a.length; i++) {
for (int j = a[i].length-i-1; j > 0; j--) {
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.print(a[i][j] + " ");
for (int j2 = 0; j2 < 2; j2++) {
if(a[i][j] / 10 == 0) {
System.out.print(" ");
}
a[i][j] = a[i][j]/10;
}
}
System.out.println();
}
}
}
代码解释
在杨辉三角中,可以明显的看出一个规律是,杨辉三角中的数等于左上角的数加上右三角上面的数
将它带入二维数组中就可以看成是,上面的一个数加上左上角的一个数,就能得到它本身
如果想得到一个10行的杨辉三角,那么用我的方法就需要定义11行的二维数组,定义的初始化数组默认值都为0,那我只需要定义第二行第二列的数为1,运用上面的公式就能得到杨辉三角