Iterator与LIstIterator接口在java中的区别有哪些
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~