杨辉三角形是指二项式(a+b)^n的展开式当中n分别取0、1、2…时每一项的系数分别排列在第n行的三角形。
题目分析:
经过分析,杨辉三角形中的每一行除了最左和最右列为1之外,中间每一行每一列的值有如下关系式。
每一行每一列的值=上一行当前的值+上上一行前一列的值。
杨辉三角形有行有列,所以本例最合适采用二维数组存放结果,首先定义一个二维数组,然后根据键盘输入的n确定二维数组的行数,再确定第i行的列数,最后按以上的关系式对每一个元素赋值。
程序代码:
package lock;
import java.util.Scanner;
public class t1 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt(); //键盘输入整数n
//计算杨辉三角形
int [][]yanghui=new int[n][]; //杨辉三角形的行数为n
for(int i=0 ;i<yanghui.length;i++) {
yanghui[i]=new int[i+1]; //杨辉三角形的第i行的列数为i+1
yanghui[i][0]=1; //杨辉三角形的第i行的第0列数为1
//计算//杨辉三角形的第i行的列数为i+1
for(int j=1;j<yanghui[i].length-1;j++) {
yanghui[i][j]=yanghui[i-1][j]+yanghui[i-1][j-1];
}
yanghui[i][i]=1; 杨辉三角形的第i行的第i列的值为1
}
//显示杨辉三角形
for(int i=0;i<yanghui.length;i++) {
for(int j=0;j<yanghui[i].length;j++);
}
System.out.println();
}
}
程序运行结果: