输入一个数字n,输出n x n矩阵,从1开始,顺着下、右、上、左递归绕圈圈:
int i=0,j=0;
int step;
int n = 0;
int stub,type;
int result[][];
int val=1;
String tmp;
System.out.println("请输入一个正整数:");
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
tmp = bfr.readLine();
bfr.close();
if(tmp == null){
System.out.println("警告!没有输入值,程序将退出");
return;
}
n = Integer.parseInt(tmp);
stub = 2*n-1;
result = new int[n][n];
for(int k=1; k<=stub; k++){
type = k%4;
step = n-k/2;
if(type == 1){ //向下
for(int down=1; down<=step; down++){
result[i][j] = val;
val++;
i++;
}
i--;
j++;
}else if(type == 2){ //向右
for(int right=1; right<=step; right++){
result[i][j] = val;
val++;
j++;
}
j--;
i--;
}else if(type == 3){ //向上
for(int up=1; up<=step; up++){
result[i][j] = val;
val++;
i--;
}
i++;
j--;
}else if(type == 0){ //向左
for(int left=1; left<=step; left++){
result[i][j] = val;
val++;
j--;
}
j++;
i++;
}
}//end of outter for loop
// print result:
for(int rs[] : result){
for(int r : rs){
System.out.printf("%4d",r);
}
System.out.println();
}
分享到:
相关推荐
-开源"提供了一个针对NxN矩阵进行逆运算、伴随矩阵和行列式计算的开源实现。下面将详细探讨这些概念及其重要性。 首先,矩阵是线性代数中的基本元素,由m×n个有序数构成的矩形阵列。对于一个N×N的方阵(行数和列...
本项目旨在创建一个 NxN 矩阵的数字拼图,通过 GUI(图形用户界面)提供用户友好的交互体验,并配备相应的后端代码来支持游戏的操作与解决。 GUI 在 MATLAB 中可以通过 `GUIDE`(图形用户界面开发环境)或编程式...
标题中提到的"对称矩阵分解:将 nxn 矩阵分解为 n+1 个对称矩阵的乘积"是一种特殊的矩阵分解方法,它涉及到奇异值分解(Singular Value Decomposition, SVD)和正交矩阵的概念。 首先,我们需要理解对称矩阵。在...
在给定的项目"sgemm"中,我们关注的是一个特定的硬件加速器——Sgemm,它是针对NxN矩阵乘法操作的。Sgemm加速器的设计目标是为了提升计算密集型的矩阵乘法运算的性能,这种运算在许多领域如机器学习、图像处理和高...
LU 分解(也称为 LU 因式分解或高斯-普朗克因式分解)将一个 nxn 的方阵 A 分解为两个矩形矩阵的乘积,即 A = PLU,其中 P 是一个单位下三角矩阵(有时包含行交换),L 是一个单位下三角矩阵,而 U 是一个上三角矩阵...
在这个特定的例子中,我们有一个名为"cofactors"的函数,它的功能是接受一个 nxn 的矩阵作为输入,并计算出该矩阵的所有辅因子。 首先,让我们来深入了解一下辅因子。对于一个 n×n 矩阵 A,其元素为 aij,辅因子 ...
客户端随机生成两个nxn矩阵,其中n可以是2-5之间的任何数字,而矩阵的每个元素都可以在0-100之间。 客户端直接使用REQ套接字与服务器通信。 您可以创建多个客户端。 $ python client.py 欲了解
这个是针对算法的课程的的一个矩阵连乘问题的算法,希望对有的人有所帮助
在MATLAB编程环境中,符号矩阵(sym)是一种特殊的数据类型,用于存储数学表达式而不是具体的数值。`invSym`函数是针对符号矩阵的一种特定逆运算实现,尤其优化了对于大尺寸,尤其是n=7及以上的n×n矩阵的求逆过程。...
问题P81是其中的一个挑战,它涉及到寻找在一个nxn矩阵中的最短路径,其中路径只能向上、向下或向右移动。这个问题可以被视为一个经典的最短路径问题,类似于Dijkstra算法或Floyd-Warshall算法的应用,但限制了移动的...
这个计算器能够有效地计算任何尺寸为nxn的矩阵的行简化阶梯形形式,并同时展示矩阵的秩和零度。下面将详细介绍这个项目的关键技术和知识点。 首先,JavaFX是Oracle公司推出的用于构建桌面、移动和嵌入式设备的富...
【输出形式】输出旋转90度后的矩阵,其中每个数字占4位字符的宽度,向右对齐。 【样例输入】 4 【样例输出】 13 9 5 1 14 10 6 2 15 11 7 3 16 12 8 4 【样例说明】输入整数n = 4,输出旋转后的矩阵。
在 MATLAB 开发环境中,创建一个遵循“之字形”或锯齿形扫描模式的大小为 NxN 的矩阵是一项有趣的挑战。这种矩阵与图像压缩技术,如 JPEG,中的扫描方法有相似之处,因为它们都涉及非顺序地遍历数组。在这个问题中,...
Naive_Gauss_Elimination 我需要朴素的高斯消除代码,我在谷歌上发现所有我发现使用的... 当您使用 Vandermonde matrix 进行测试时,当矩阵的大小达到 14 时,程序将崩溃。这是因为 Vandermonde 矩阵是一个病态系统。
可换环上全矩阵代数的乘积零导子,潘海山,周津名,R是一个含幺可换环,Mn(R)是R上所有nxn矩阵组成的一个R-代数,f是Mn(R)到Mn(R)的一个线性映射,对Mn(R)中的任意矩阵X,Y,如果有XY=0,那么就�
二维数组可以看作是由多个一维数组构成的矩阵,每个元素在数组中的位置可以用一对索引(行号和列号)来表示。对于一个n x n的二维数组,主对角线上的元素是从(0,0)开始,沿着第一行到最后一列,即(a[0][0], a[1][1],...
使用C++编写的左上拐角矩阵,帮助理解左上拐角矩阵的特点
输入: A 是 NxN 邻接矩阵,其中 A(I,J) 非零当且仅当一条边将点 I 连接到点 J xy 是 x,y,(z) 坐标的 Nx2(或 Nx3)矩阵(相当于 V) 输出: V 是 x,y,(z) 坐标的 Nx2(或 Nx3)矩阵E 是包含边连接列表的 Px2 矩阵 ...
一个随机数的生成程序,就是用来生成NXN的随机数
给出由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件。 你的任务就是检测矩阵是否符合条件,或者在仅改变一个矩阵元素的情况下能否符合条件。 "改变矩阵元素"的操作定义为0变成1,1...