欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

蓝桥杯第五届JavaC组杨辉三角问题解决方法

程序员文章站 2022-08-26 10:18:45
此题是蓝桥杯第五届Java组考试题目之一,一道解决打印杨辉三角的填空题 以下是具体内容: Question: 二项式的系数规律,我国数学家很早就发现了。 如【图1.png】,我国南宋数学家杨辉1261年所著的《详解九章算法》一书里就出现了。 其排列规律:11 11 2 11 3 3 11 4 6 4 ......

此题是蓝桥杯第五届java组考试题目之一,一道解决打印杨辉三角的填空题

以下是具体内容:

 

 

question:


二项式的系数规律,我国数学家很早就发现了。

如【图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();
}
}
}

 

 answer:

 1 public class day1
 2 {
 3     public static void main(string[] args)
 4     {
 5         int n = 8;
 6         //抛开题目来讲,如果想要打印更多行杨辉三角,改n的数值即可
 7         int[][] a = new int[n][n] ;
 8         //定义二维数组,题目中的杨辉三角数目总共8行8列,n = 8;
 9         
10         
11         for(int i=0; i<n; i++){
12             a[i][0] = 1;
13             a[i][i] = 1;
14         }
15         //定义每一行的第一个数字与最后一个数字的值都是为数字1
16         
17         
18         for(int i=1; i<n; i++){
19             for(int j=1; j<i; j++) 
20                 a[i][j]=a[i-1][j-1]+a[i-1][j];  //填空
21         }
22         //这一步主要看算法,杨辉三角的外围已经做好,只差往里边填写数字,找其相应的规律,进行填补
23         
24         
25         for(int i=0; i<n; i++){
26             for(int j=0; j<=i; j++)    system.out.print(string.format("%-5d", a[i][j]));
27             system.out.println();
28         }    
29         //将其打印输出,string.format();的作用是进行字符串格式化,重新按照指定的格式进行输出,"-"的
30         //作用是靠左,注意一点,print,不要加ln
31         
32         
33     }
34 }

 

总结:

1:知识是靠自己一步一步测试代码、查找资料,自己总结来的,这样的方法比较牢固,记得扎实,如果不测试,只靠眼睛看,也就只是看看。

2:遇到认为难的题目,不要慌,不要否定自己,先静下心来,仔细分析题目,找方法解决问题

3:在时间允许的范围内,先自己动脑子想,如果实在不会,再查阅资料,做总结

 

如有个别回答错误,评论指出,我必更改,谢谢!