杨辉三角,是二项式系数在三角形中的一种几何排列
性质
- 每行端点与结尾的数为1
- 每个数等于它上方两数之和
- 每行数字左右对称,由1开始逐渐变大
- 第n行的数字有n项
实现
具体实现思路在注释中均有提到
public class Day8 {
public static void main(String[] args) {
// 命令行参数输入错误
if(args.length != 1) {
System.out.println("参数错误");
}
// 将命令行字符串参数转换为整数,也可自己指定参数row
int row = Integer.parseInt(args[0]);
printTriangle(row);
}
public static void printTriangle(int row) {
// 在循环中依次保存当前行上一行每个元素的值
int prev = 1;
int[] arr = new int[row];
for( int i = 0; i < row; i++) {
for( int j = 0; j <= i; j++) {
// 将上一行当前下标元素的值保存
int cur = arr[j];
// 当前元素等于上一行当前元素和上一行当前元素前一个元素之和
arr[j] = prev+cur;
// 对于下一圈循环,prev保存了当前行上一行元素前一个元素,即prev与cur保存的值一前一后
prev = cur;
System.out.print(arr[j]+" ");
}
System.out.println();
}
}
}