分析:
第一行有一个数
第二行有两个数
第三行有三个数
且每一行的第一个数和最后一个数都等于它上一行数的左右两个数之和
因此可以将杨辉三角看成是一个二维数组,把它拆分成行和列
代码实现
public class 杨辉三角{
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int v = s.nextInt();
int[][] arr = new int[v][v];
//遍历数组往数组里面输入数字
for(int i = 0;i < v;i++){
//每一层的个数都是小于等于其行数的
for(int j = 0;j <= i;j++){
//每一行的第一个数和最后一个数都等于1
if(j == 0 || i == j){
arr[i][j] = 1;
//剩下的数等于其上一行的左右两个数之和
}else {
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
}
}
}
//将数字打印输出
for(int i = 0;i < v;i++){
//打印空格
for(int l = i;l < v;l++){
System.out.print(" ");
}
//打印数组
for(int j = v - i;j <= v;j++){
System.out.print(arr[i][v-j] + " ");
}
System.out.println();
}
}
}
输出结果: