二项式--杨辉三角(蓝桥杯练习题目)

【题目】


如【图1.png】,我国南宋数学家杨辉1261年所著的《详解九章算法》一书里就出现了。

 

其排列规律:

1

1    1

1    2    1

1    3    3    1

1    4    6    4    1

1    5    10   10   5    1

1    6    15   20   15   6    1

1    7    21   35   35   21   7    1

 

如下的程序,用来建立N行的杨辉三角形。请填写划线部分缺少的代码。

 

注意:只填写划线部分的代码,不要填写任何多余的内容。

 

 

 

public class A

{

public static void main(String[] args)

{

int N = 8;

int[][] a = new int[N][N] ;

for(int i=0; i<N; i++){

a[i][0] = 1;

a[i][i] = 1;

}

for(int i=1; i<N; i++){

for(int j=1; j<i; j++) _____________________________;  //填空

}

for(int i=0; i<N; i++){

for(int j=0; j<=i; j++)System.out.print(String.format(“%-5d”, a[i][j]));

System.out.println();

}

}

}


【解释】

public class A

{

public static void main(String[] args)

{

//对行数的限制

int N = 8;

//定义一个二维数组

//解释:

   数据类型[][] 数组名=new 数据类型[二维数组的长度/包含的一维数组的个数][每一个一维数组的长度]  

int[][] arr = new int[3][5];—定义了一个整型的二维数组,其中包含3个一维数组,每个一维数组可以存储5个整数  

int[][] a = new int[N][N] ;

 

 

//循环给值,三个一维数组中,每一维数组的索引为[0]的赋值为1,最后一个赋值为1

for(int i=0; i<N; i++){

a[i][0] = 1;

a[i][i] = 1;

}

//赋值

for(int i=1; i<N; i++){

 

         //第二层循环从一开始,循环条件为就J<1

for(int j=1; j<i; j++) {

//当前的数   上面的数+上面的数的前面

Arr[i][j]==arr[i-1][j]+arr[i-1][j-1]

}  //填空

}

//遍历出数字

for(int i=0; i<N; i++){

for(int j=0; j<=i; j++)System.out.print(String.format(“%-5d”, a[i][j]));

System.out.println();

}

}

}

【结果】

Arr[i][j]==arr[i-1][j]+arr[i-1][j-1]

    原文作者:杨辉三角问题
    原文地址: https://blog.csdn.net/qq_37986384/article/details/79643653
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞