6、杨辉三角(Pascal's Triangle)
1、每个数等于它上方两数之和【直角模式等于上方和左上方元素之和】。
2、每行数字左右对称,由1开始逐渐变大。
3、第一行有1个元素,第n行有n个元素。
示例输出10行:
public class PascalTriangle {
public static void main(String[] args){
int line = 10; //输出10行的杨辉三角
int[][] triangle = new int[line][];
for (int i = 0; i < line; i++) { //动态初始化列元素
triangle[i] = new int[i+1];
}
for (int i = 0; i < triangle.length; i++) {
for (int j = 0; j < triangle[i].length; j++) {
//根据性质对杨辉三角进行赋值
if (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] + " ");
}
//整列输出完毕,换行操作
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