输入一个数字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矩阵的ADJOINT,DETERMINANT,INVERSE在内的大型矩阵运算的更好选择。
LU分解 NxN矩阵的LU分解
此脚本将使用 NxN 矩阵制作数字拼图的 GUI,完成后用户将收到回复。 此脚本包含 GUI 以及后端代码。
Sgemm加速器Sgemm是NxN矩阵乘法加速器的Chisel3实现。 用法: $ sbt> test:runMain sgemm.SgemmMain
当用户输入 nxn 矩阵时,例如。 A=[1 1 1; 3 1 -1; 2 1 -1] 该函数计算相应的辅因子。
project_Euler_P81 nxn 矩阵和求解最短路径仅在 2 个方向上移动。 我附上了解释更多的文本文件。
客户端随机生成两个nxn矩阵,其中n可以是2-5之间的任何数字,而矩阵的每个元素都可以在0-100之间。 客户端直接使用REQ套接字与服务器通信。 您可以创建多个客户端。 $ python client.py 欲了解
这个是针对算法的课程的的一个矩阵连乘问题的算法,希望对有的人有所帮助
将矩阵 A 分解为 n+1 个对称矩阵的乘积。 A=Q1*Q2*...*Qn*S 其中 Q 是正交且对称的,S 是对称的并且包含 A 的奇异值。
JavaFX行缩减梯形表格计算器该项目是使用javaFx的矩阵行简化梯形表格计算器,它可以计算任何nxn矩阵的RREF并显示其秩和无效性以及可选的计算过程步骤
符号矩阵的有效反演。 特别适用于 n=7+。 例子: n=7; M=sym('m',[nn]); Mi=invSym(M); 将此例程的计算效率与“inv()”或“\”和“/”进行比较。
生成所有NxN矩阵(N=2xM),符合条件:任一行、列都有且只有M个1,其余都为0.
给定一个nxn矩阵。在给定的矩阵中,您必须以蛇形图案打印矩阵的元素。 例子: 输入:mat[][] = { {10, 20, 30, 40}, {15, 25, 35, 45}, {27, 29, 37, 48}, {32, 33, 39, 50}}; 输出:10 20 30 40 45 35 25 ...
【输出形式】输出旋转90度后的矩阵,其中每个数字占4位字符的宽度,向右对齐。 【样例输入】 4 【样例输出】 13 9 5 1 14 10 6 2 15 11 7 3 16 12 8 4 【样例说明】输入整数n = 4,输出旋转后的矩阵。
Naive_Gauss_Elimination 我需要朴素的高斯消除代码,我在谷歌上发现所有我发现使用的... 当您使用 Vandermonde matrix 进行测试时,当矩阵的大小达到 14 时,程序将崩溃。这是因为 Vandermonde 矩阵是一个病态系统。
由于许多人(大多数是学生)需要以toeplitz矩阵形式的自协方差,因此此函数可以以矩阵形式快速生成输出。 如果需要自相关,则可以简单地用函数内部的xcorr替换xcov命令。
vc6.0,vc2005下调试通过,求数组两对角线元素之和.
可换环上全矩阵代数的乘积零导子,潘海山,周津名,R是一个含幺可换环,Mn(R)是R上所有nxn矩阵组成的一个R-代数,f是Mn(R)到Mn(R)的一个线性映射,对Mn(R)中的任意矩阵X,Y,如果有XY=0,那么就�
使用C++编写的左上拐角矩阵,帮助理解左上拐角矩阵的特点
一个随机数的生成程序,就是用来生成NXN的随机数