解题思路:以n=5为例:

第一行第一个数是1

每一行的第一个数与前一行的第一个数依次大1,2,3,4

由此我们可以推出每一行的第一个数

第一行前一个数和后一个数依次相差2,3,4,5

第二行前一个数和后一个数依次相差3,4,5

第三行前一个数和后一个数依次相差4,5

第四行前一个数和后一个数依次相差5

最后一行是一个数,可以用每一行的第一个数与前一行的第一个数差值的规律推出

定义了两个变量first1,first2,first2用来记录每一行的第一个数,first1来利用first2计算出每一行中的各个数


注意事项:

每行末尾不能有空格


参考代码:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int first1;
        int first2 = 1;
        for (int i = n; i >= 0; i--) {
            first2 = first2 + n - i;
            first1 = first2;
            for (int j = 0; j < i - 1; j++) {
                System.out.print(first1 + " ");
                first1 = first1 + 2 + j + n - i;
            }
            if (i != 0) {
                System.out.print(first1);
                System.out.println("");
            }
        }
    }
}


点赞(0)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论