关于打印杨辉三角形

public static void main(String[] args){

  Scanner sc = new Scanner(System.in);

  System.out.println("请输出要打印的杨辉三角形的高");

  int h = sc.nextInt();

  //计算三角形的底边长(数组长度)

  a = 2*h-1;

  //写一个高度为h长度为a的数组来存放杨辉三角形

  int[][] arr = new int[h][a]

  //为二维数组赋值

  arr[0][a/2] = 1;

  for(int i = 1; i < h ; i++){

    for(int j = 1; j < a - 1; i++){

     arr[i][j] = arr[i-1][j-1]+arr[i-1][j+1]

     //为三角形底边的第一个数和最后一个数赋值

     if(i==h-1){

      arr[h][0] = arr[h][a] = 1;

      }

    }

  }

  //打印数组

  for(int[] b:arr){

    for(int c:b){

      if(c==0){

      System.out.print(" ");

      continue;

      }

      System.out.print(c);

    }

   }

}

以上为java代码部分

运行结果为:

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
1 10 45 120 210 252 210 120 45 10 1
1 11 55 165 330 462 462 330 165 55 11 1
1 12 66 220 495 792 924 792 495 220 66 12 1
1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1
1 14 91 364 1001 2002 3003 3432 3003 2002 1001 364 91 14 1
1 15 105 455 1365 3003 5005 6435 6435 5005 3003 1365 455 105 15 1
1 16 120 560 1820 4368 8008 11440 12870 11440 8008 4368 1820 560 120 16 1
1 17 136 680 2380 6188 12376 19448 24310 24310 19448 12376 6188 2380 680 136 17 1
1 18 153 816 3060 8568 18564 31824 43758 48620 43758 31824 18564 8568 3060 816 153 18 1
1 19 171 969 3876 11628 27132 50388 75582 92378 92378 75582 50388 27132 11628 3876 969 171 19 1

posted @ 2016-11-17 20:51  腊月  阅读(129)  评论(1)    收藏  举报