一、杨辉三角的概念
杨辉三角是二项式系数在三角形中的一种几何排列,南宋数学家杨辉在《详解九章算法》中有记载,欧洲的帕斯卡也发现这一规律,故又称帕斯卡三角形,比杨辉晚几百年发现该规律
二、杨辉三角的特性
- 他的两条斜边都是数字1组成,其余的数等于他肩上的两数之和
- 每行数字左右对称,由1开始,逐渐增大
- 第n行的数字个数为n
- 第n行的数字之和为2^n-1;
三、Java代码实现杨辉三角
- 定义一个6行6列的二维数组
- 遍历数组,输出每个数
- 计算:每一行的第一列和最后一列都等于1;其余的数等于他肩上的两数之和
- 打印并输出,控制台显示结果
public class Demo{public static void main(String[]args){int len=6;//定义数组长度int[][]arr=new int[len][len];//定义6行6列的二维数组for(int i=0;i<len;i++){//遍历数组for(int j=0;j<=i;j++){if(j==0||j==i){//每一行的第一列和最后一列都等于1arr[i][j]=1;}else{//任何数都等于他肩上的两数之和arr[i][j]=arr[i-1][j]+arr[i-1][j-1];}System.out.print(arr[i][j]+" ");}System.out.println();//换行}}}
控制台显示结果
以上是直角的杨辉三角,我们也经常会见到等腰的杨辉三角,代码如下:
public class Demo{public static void main(String[]args){int len=6;//定义数组长度int[][]arr=new int[len][len];//定义6行6列的二维数组for(int i=0;i<len;i++){//遍历数组for(int j=0;j<=i;j++){if(j==0||j==i){//每一行的第一列和最后一列都等于1arr[i][j]=1;}else{//任何数都等于他肩上的两数之和arr[i][j]=arr[i-1][j]+arr[i-1][j-1];}}}//等腰输出for(int i=0;i<len;i++){for(int j=0;j<len-i;j++){System.out.print(" ");}for(int k=0;k<=i;k++){System.out.print(arr[i][k]+" ");}System.out.println();//换行}}
}
控制台显示结果