杨辉三角形
1.杨辉三角形原理
1.1.杨辉三角形结构
1.2.杨辉三角形规则
参照上图杨辉三角形结构看下面的规则
- 每一行的列数和当前行的行数相同
- 每一行的第一个元素和最后一个元素都是 1
- 从第三行开始, 对于非第一个元素和最后一个元素的元素值是:上一行左移一列元素值+上一行对应列元素值
- 例如:第四行3的值是上一行左移一列元素1的值 加 上一行当前列元素2的值,每个值以此类推。
2.代码实现杨辉三角形
2.1.代码实现思路
- 1.声明并初始化二维数组
- 2.给数组的元素赋值
- 2.1.初始化数组每行的列数
- 2.2.给二维数组首末元素赋值1
- 2.3.每一行非首末元素赋值,每个元素赋值规则:上一行左移一列元素值+上一行对应列元素值
- 3.输出二维数组元素
public class Yanghui {
public static void main(String[] args) {
//-----1.声明并初始化二维数组
int [][] yangHui = new int[10][];
//-----2.给数组的元素赋值
for (int i = 0; i < yangHui.length; i++) {
//----2.1.初始化数组每行的列数
yangHui[i] = new int [i+1];
//----2.2.给二维数组首末元素赋值1
yangHui[i][0] = yangHui[i][i] = 1;
//----2.3.每一行非首末元素赋值,每个元素赋值规则:上一行左移一列元素值+上一行对应列元素值
for (int j = 1;j < yangHui[i].length-1; j++) {
yangHui[i][j] = yangHui[i-1][j-1] + yangHui[i-1][j];
}
}
//-----3.输出二维数组元素
for (int i = 0; i < yangHui.length; i++) {
for (int j = 0; j < yangHui[i].length; j++) {
System.out.print(yangHui[i][j]+" ");
}
System.out.println();
}
}
}