`

三角螺旋矩阵

 
阅读更多

打印如下矩阵,如果 n=7 则输出:


18 2 
17 19 3 
16 27 20 4 
15 26 28 21 5 
14 25 24 23 22 6 
13 12 11 10 9  8  7
 

 

注意观察可知,数字增加的方向及走过的步数是有规律的:

 

1 斜下 7
2 向左 6
3 向上 5
4 斜下 4
5 向左 3
6 向上 2
7 斜下 1

 

所以可以设定的一个变量 direction 记录方向的变化,循环变化。

同时根据 direction 的不同,来决定每次的递增位置。

 

代码如下:

public class Sanjiao {
	public static void main(String[] args) {
		int n = 7;
		int num[][] = new int[n][n];
		int index = 0;//数值
		int row = -1;// 行
		int cel = -1;// 列
		for (int i = n; i > 0; i--) {
			int direction = i % 3;//方向
			for (int k = i; k > 0; k--) {
				// 0向左 1斜着 2向上
				switch (direction ) {
				case 1: {
					num[++cel][++row] = ++index;
					break;
				}
				case 2: {
					num[--cel][row] = ++index;
					break;
				}
				case 0: {
					num[cel][--row] = ++index;
					break;
				}
				}
			}
		}
		//结果输入
		for (int i = 0; i < num.length; i++) {
			for (int k = 0; k < num[0].length; k++) {
				if (num[i][k] != 0) {
					if (num[i][k] > 9)
						System.out.print(num[i][k] + " ");
					else
						System.out.print(num[i][k] + "  ");

				}
			}
			System.out.println();
		}
	}

}

 

分享到:
评论

相关推荐

    c语言螺旋矩阵大作业报告.docx

    5. **左上角顺时针上三角螺旋矩阵**: 在这种矩阵中,除了下三角部分不填充外,其他部分按照顺时针方向填充。处理这种特殊情况需要在循环中判断当前位置是否在下三角内,若不在则填充。 6. **退出系统**: 除了...

    螺旋矩阵源码_VB.NET

    螺旋矩阵是一种特殊的矩阵排列方式,它从矩阵的最外层开始,按照顺时针或逆时针方向螺旋式地填充元素。在VB.NET编程环境中,实现螺旋矩阵可以帮助开发者理解和掌握数组操作、循环控制以及基本算法设计。以下是关于...

    螺旋矩阵 (类名SpiralMatrix)

    输入两个不大于10的整数m和n,输出m×n的逆时针形式的螺旋矩阵,输出数字占2位,数字间用1个空格分割。(类名SpiralMatrix)

    c# 上三角螺旋加下三角蛇形矩阵

    本代码实现了在Windows环境下用C#语言编写N*N 通用方阵,要求是左下三角是蛇形矩阵,右上三角顺时螺旋 N=4时 1 11 12 13 7 2 16 14 8 6 3 15 10 9 5 4 N=5时 1 16 17 18 19 9 2 24 25 20 10 8 3 23 21 14 11 7 4 ...

    c#螺旋矩阵加蛇形矩阵

    c# 上三角螺旋加下三角蛇形矩阵 N=4时 1 11 12 13 7 2 16 14 8 6 3 15 10 9 5 4 N=5时 1 16 17 18 19 9 2 24 25 20 10 8 3 23 21 14 11 7 4 22 15 13 12 6 5

    C语言算法 螺旋矩阵

    打印输出螺旋矩阵,要求螺旋矩阵的阶数由用户输入

    l.rar_螺旋矩阵

    螺旋矩阵是一种特殊的二维数组,它的元素按照螺旋顺序填充。在创建螺旋矩阵时,通常从左上角开始...如果你需要深入理解这些概念,建议打开压缩文件查看源代码,或者通过网络资源学习更多关于螺旋矩阵和杨辉三角的知识。

    Java实现螺旋矩阵的示例

    Java 实现螺旋矩阵的示例 Java 实现螺旋矩阵的示例是指通过 Java 语言实现螺旋矩阵的算法,螺旋矩阵是指将矩阵中的元素按照顺时针螺旋顺序排列的矩阵。下面将详细介绍 Java 实现螺旋矩阵的示例。 1. 螺旋矩阵的...

    java书写螺旋矩阵

    将螺旋分别做成了不同块划分来写的,分别使用4个三角形的形状的数字 组成一个正方形,没个 循环控制一个三角形的数字

    打印螺旋上三角(C语言实现)

    螺旋上三角是一种特殊的矩阵打印方式,它以螺旋形的方式从左上角开始,顺时针方向打印矩阵中的数字。在C语言中实现这样的功能,主要涉及到数组操作、循环控制以及条件判断。以下是对这一主题的详细讲解。 1. **数组...

    python 实现 矩阵 课程设计 代码

    python 实现 二叉搜索矩阵 在矩阵中计数岛屿 计数路径 克莱默斯规则 2X2 矩阵逆 矩阵中的最大平方面积 矩阵类 矩阵运算 岛屿最大面积 使用矩阵幂的第 N 个斐波那契 ... 螺旋印花 测试 测试矩阵操作

    C++螺旋数组

    螺旋数组,也称为螺旋矩阵,是一种特殊的二维数组排列方式,其特点是元素按照顺时针或逆时针方向从外向内填充。在C++编程中,实现螺旋数组的填充和打印是一项常见的数据结构与算法练习。这个主题通常涉及到数组操作...

    C语言大作业(三个操作题)

    本次大作业涵盖了三个操作题,分别涉及温度转换、螺旋矩阵输出和三角函数图像绘制。下面将详细解释这三个知识点。 首先,摄氏温度C与华氏温度F之间的转换是基本的物理知识。转换公式为C = (F - 32) * 5/9,其中C...

    双臂圆锥对数螺旋天线的研究

    该研究利用曲线段三角基展开和伽略金法检验的矩量法来分析这种天线,这种方法能够更精确地描述天线结构,并通过利用阻抗矩阵的中心对称性减少计算量,从而提高计算精度和速度。 矩量法是天线分析中的常见技术,通常...

    螺旋型螺旋体的CAD造型.pdf

    这组方程式以旋转角为变量,通过三角函数和直角坐标系之间的转换,将旋转运动转化为螺旋线的位置描述。这为在AutoCAD或其他CAD软件中准确绘制螺旋型螺旋体提供了理论依据和实践指导。 总结来说,本文提出的螺旋型...

    矩阵操作Demo

    3. 旋转(Rotation):通过使用三角函数,矩阵可以实现对象的旋转。例如,对于逆时针旋转θ角度的矩阵为 [cos(θ) -sin(θ) 0; sin(θ) cos(θ) 0; 0 0 1],坐标(x, y)会旋转成(x*cos(θ) - y*sin(θ), x*sin(θ) + ...

    .NET学习资料

    编写代码实现螺旋矩阵的生成,然后将其打印在Label控件中,展示出螺旋矩阵的图形。 6. 自定义对象排序:创建名为Employee的公共类,包含四个属性:EmpID、EmpName、Age和Salary,均为public且带有get和set访问器。...

    六足仿生机器人并联机构雅可比矩阵分析.pdf

    摘要:本文研究六足仿生机器人并联机构的雅可比矩阵分析,讨论了六足机器人每条腿具有 3 个转动关节,三角步态行走时,机体为 3⁃URRS 并联机构。利用螺旋理论和互易积理论分析 3 条支链对上平台运动产生的约束作用...

    易语言经典算法

    取所有质数 求最小公倍数 求最大公约数 汉诺塔 9X9乘法表 猫捉老鼠(筛选法) ...螺旋矩阵问题(多循环法) 买水果问题 求平方根 求任意三角形面积 全排列问题(递推法) 怎样组合值最大 取两数之间均匀分布的随机数

    javalruleetcode-JavaPractice:Java实践

    螺旋矩阵 下一个排列 螺旋矩阵 II 合并间隔 插入间隔 最大子阵列 加一 设置矩阵零 帕斯卡三角形 帕斯卡三角形 II 多数元素 旋转阵列 汇总范围 数组除自身的乘积 缺少号码 生命游戏 递增三重子序列 多数元素 II 电话...

Global site tag (gtag.js) - Google Analytics