杨辉三角
一,基本原理
1.杨辉三角形
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
2.规律:
(1)行数=列数
(2)每一行的第一个和最后一个都是1
(3)从第三行开始,每一行的数据是它上一行的前一列和它上一行的本列之和
3.步骤:
(1)定义一个二维数组,行数如果是n,我们把列数也定义为n (2)给这个二维数组的第一行和最后一行都赋值为1
(3)按照规律给元素赋值
arr[x][y] = arr[x-1][y]+arr[x-1][y-1]
二,代码
public class Home6 {
public static void main(String[] args) {
//键盘录入
Scanner input = new Scanner(System.in);
System.out.println("请输入数组的行数:");
int n = input.nextInt();
//定义一个二维数组
int[][] arr = new int[n][n];
//给二维数组的每一行的第一列和最后一列赋值
for(int x = 0; x < arr.length; x++) {
arr[x][0] = 1;
arr[x][x] = 1;
}
//从第三行开始,每一个数据都是它上一行的前一列+上一行的当前列
for(int x = 2; x < arr.length; x++) {
//最后一列的问题
//y从1开始,当x=2的时候,y=1,下面的y-1 = 0,上面已经赋过值
for(int y = 1; y <= x-1; y++) {
arr[x][y] = arr[x-1][y-1]+arr[x-1][y];
}
}
//调用方法遍历
print(arr);
}
public static void print(int[][] arr) {
for(int x = 0; x < arr.length; x++) {
for(int y = 0; y <= x; y++) {
System.out.print(arr[x][y]+"\t");
}
System.out.println();
}
}
}