今年的蓝桥杯中我遇到了一道题是关于数字金字塔的,那时候在比赛时可能是各方面的因素有思路但是没有实现,直到今天回过头来看,其实只要思路正确了题目就会迎刃而解了,其实数字金字塔的的解题思路就是把金字塔分成两个直角三角形
如下所示:
1
12 1
123 21
1234 321
12345 4321
123456 54321
左边的是6行的直角三角形,他的规律就是每行的最大数就等于行数,那么用代码实现就是:
for(int i=1;i<=6;i++){ //外层循环控制行数
for(int j=1;j<=i;j++){ //打印左边的三角形,保证每行的最大数等于行数
System.out.print(j);
}}
右边的是5行的直角三角形,他的规律就是每行输出的数从左到右逆序输出就是大的在前小的在后,而且最大的数比行数小1,第一行不输出,那我们用代码实现就是:
for(int j=i-1;j>=1;j--){
System.out.print(j);
}
大体思路就这样实现了,那么把代码整合下,我们的题目也就解出来了,如下所示:
public class angle {
public static void main(String[] args){
for(int i=1;i<=6;i++){ //外层循环控制行数
//打印空格
for(int j=1;j<=6-i;j++){
System.out.print(" ");
}
//打印数字,左边的三角形
for(int j=1;j<=i;j++){
System.out.print(j);
}
//后面数字的规律
for(int j=i-1;j>=1;j--){
System.out.print(j);
}
System.out.println(); //换行
}
}
}
输出如下所示:
1
121
12321
1234321
123454321
12345654321
总结了一下,写代码其实就是思路有了,那么写代码就会迎刃而解,没有思想的撸代码就是流氓。
不管是用什么编程语言,拿到题目先要分析思路,找出最快的解决方法,那么解题就会很快的了,千万不要拿到题边撸代码边想题目,那样耗时又不讨好。
来源:CSDN
作者:纪文啊!
链接:https://blog.csdn.net/qq_41338249/article/details/80995601