杨辉三角
要想写出杨辉三角,首先得知道什么是杨辉三角形
杨辉三角形:二项式系数在三角型中的一种几何排列
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
前提:每行端点与结尾的数字为1
- 在最上面一行的中央写下数字 1
- 第二行,写下两个 1,和上一行形成三角形
- 随后的每一行,开头和最后的数字都是 1,其他的每个数都是它左上方和右上方的数之和,就是说除每行最左侧与最右侧的数字以外,每个数字等于它的左上方与右上方两个数字之和。
分析:
1)键盘录入一个数据:(行数)
2)定义一个二维数组
3)遍历二维数组:
3.1)先给任意一行的第一列以及最后一列赋值1
3.2)从第三行开始中间的每一个数据等于它左上方的数据与右上方的数据之和
具体实现:
//键盘录入杨辉三角
public class YangHuiTriangle {
public static void main(String[] args) {
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
// 提示并接收数据
System.out.println("请输入一个你想要得到的杨辉三角行数:");
int n = sc.nextInt();
// 定义一个二维数组
int[][] arr = new int[n][n];
//遍历二位数组,将任意一行的端点与结尾赋值为1
for(int x=0;x<arr.length;x++) {
arr[x][0] = 1;
arr[x][x] = 1;
}
//从第三行开始,中间的任意一个数据等于它左上方的数据与右上方的数据之和
for(int x=2;x<arr.length;x++) {
for(int y=1;y<x-1;y++) {
arr[x][y] = arr[x-1][y-1]+arr[x-1][y];
}
}
//遍历二维数组
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() ;
}
}
}