public class YanghuiTriangle {
public static void main(String[] args) {
int triangle[][]=new int[10][];// 创建二维数组
// 遍历二维数组的第一层
for (int i = 0; i < triangle.length; i++) {
triangle[i]=new int[i+1];// 初始化第二层数组的大小
// 遍历第二层数组
for(int j=0;j<=i;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];// 其他数值通过公式计算
}
System.out.print(triangle[i][j]+"\t"); // 输出数组元素
}
System.out.println(); //换行
}
}
}
分析:杨辉三角的特点,在于两侧值均为1,在数组中表示就是triangle[i][i]与triangle[i][0]的元素值均为1
其他部分的值,为其正上方的数值与左上角的数值之和,即triangle[i][j]=triangle[i-1][j]+triangle[i-1][j-1]
重点补充:Java中的二维数组其实是每个元素都是一个一维数组的一维数组。所以第二个维数长度可以任意,不在创建时进行限定
原文地址:https://www.cnblogs.com/fcbyoung/p/10311767.html