题目:打印出杨辉三角形

程序分析:
        1
       1 1
      1 2 1
     1 3 3 1
    1 4 6 4 1
   1 5 10 10 5 1

定义的是二维数组,为了使输出的结果看起来漂亮一点,可以用for(int k=0; k<2*(10-i)-1; k++)控制输出的空格,这个循环是在控制行数的循环里面,控制列数的循环外面。

 


1 package com.li.FiftyAlgorthm;
2
3 /**
4 * 题目:打印出杨辉三角形(要求打印出10行如下图)
5 1
6 1 1
7 1 2 1
8 1 3 3 1
9 1 4 6 4 1
10 1 5 10 10 5 1
11 * a[i][j]=a[i-1][j]+a[i-1][j-1] 就是这个程序的核心
12 *
13 * @author yejin
14 */
15 public class YangTriangle {
16 public static void main(String[] args) {
17 int[][] a = new int[10][10];
18 for (int i = 0; i < 10; i++) {
19 a[i][i] = 1;
20 a[i][0] = 1;
21 }
22 for (int i = 2; i < 10; i++) {
23 for (int j = 1; j < i; j++) {
24 a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
25 }
26 }
27
28 for (int i = 0; i < 10; i++) {
29 for (int k = 0; k < 2 * (10 - i) - 1; k++) {
30 System.out.print(" ");
31 }
32 for (int j = 0; j <= i; j++) {
33 System.out.print(a[i][j] + " ");
34 }
35 System.out.println();
36 }
37 }
38