题目 1097: 蛇行矩阵 题解

tech2024-04-01  65

题目描述

蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 输入 本题有多组数据,每组数据由一个正整数N组成。(N不大于100) 输出 对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。

样例输入 5

样例输出

1 3 6 10 15 2 5 9 14 4 8 13 7 12 11

题目分析: 找规律,每一行的第一位等于上一行的行数+数值; 数的间距 横着看 第一行2345 第二行345 第三行45 第四行5 竖着看第一行 间距是1234 大概能写出来,看以下代码:

代码演示:

public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n=sc.nextInt(); int t=1; for (int i = 0; i <n; i++) { t+=i; //行数+元素 int d=t; System.out.print(t+" ");//输出了每一行的第一位 for(int j=1;j<n-i;j++) { d=d+(i+1)+j; //行数+列数+前面的元素=这一行后面的数 System.out.print(d+" "); } System.out.println();//每行的数遍历完就换行; }

程序结果:

最新回复(0)