当前位置: 移动技术网 > IT编程>开发语言>Java > 蓝桥杯第五届JavaC组杨辉三角问题解决方法

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

2019年01月21日  | 移动技术网IT编程  | 我要评论

小神童幼儿园,古代美女换装小游戏,幸田朋弘

此题是蓝桥杯第五届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:在时间允许的范围内,先自己动脑子想,如果实在不会,再查阅资料,做总结

 

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网