Java编程-输出杨辉三角前10行

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中的二维数组其实是每个元素都是一个一维数组的一维数组。所以第二个维数长度可以任意,不在创建时进行限定

猜你喜欢

转载自www.cnblogs.com/fcbyoung/p/10311767.html