java打印杨辉三角
package com.dylan.practice.interview;
/**
* 打印杨辉三角
*
* 原理
* 1.每个数等于它上方两数之和
* 2.第n行的数字有n个
*
* @author xusucheng
* @create 2018-03-06
**/
public class YangHuiTriangle {
public static void main(String[] args) {
print(10);
}
public static void print(int n) {
int[][] a = new int[n][n];
for (int i = 0; i < n; i++) {
//格式化输出
System.out.format("%" + (n - i) * 2 + "s", "");
for (int j = 0; j <= i; j++) {
if (j == 0 || j == i) {
a[i][j] = 1;
} else {
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
System.out.format("%4d", a[i][j]);
}
System.out.println();
}
}
}
输出:
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