某校2018专硕编程题-蛇形矩阵

网友投稿 221 2022-11-06


某校2018专硕编程题-蛇形矩阵

题目

编程题:输入正整数(n<30),输出1到n的蛇形矩阵。 例如 (1) n 为 10 时

1 2 6 73 5 84 910

(2) n 为 8 时

1 2 6 73 5 84

分析

找矩阵规律:

以左上角对角线开始计为0,记为K :

如图

偶数(红色)对角线从斜下向斜上走,奇数(绿色)对角线由斜上向斜下走。偶数(红色)对角线的矩阵下标起始a[k][0],偶数(绿色)对角线的起始坐标a[0][k](第k条对角线)。每条对角线的数量为k+1

Java实现

public static void test09(){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); if (n >= 30) return; int[][] a = new int[n/2+1][n/2+1]; int k = 0; int s = 1; while (s <= n) { if (k % 2 == 0){ int m = k,r = 0; while (m >= 0) { a[m--][r++] = s++; if (s > n) break; } }else { int m = 0,r = k; while (r >= 0) { a[m++][r--] = s++; if (s > n) break; } } k++; } //输出 for (int i = 0; i < a.length; i++) { for (int j = 0; j < a[i].length; j++) { if (a[i][j] != 0){ System.out.print(a[i][j]+" "); } } System.out.println(); } }


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:中通快递查询API(中通快递查询电话号码)
下一篇:java爬虫模拟登陆的实例详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~