`

蛇形排列

    博客分类:
  • java
 
阅读更多
package com;

public class T {

	public int x;
	public int y;
	public int[][] arr;
	public int WIDTH = 10;
	public static int num;
	public static int width;
	public static T t;

	public T() {
		arr = new int[WIDTH][WIDTH];
		num = 0;
		width = 0;
		x = 0;
		y = 0;
	}

	public void test() {
		for (int i = 0; i < WIDTH; i++) {
			for (int j = 0; j < WIDTH; j++) {
				{
					if (x == WIDTH - 1) {
						y = WIDTH - 1 - x;
						x++;
					} else {
						x = WIDTH - 1 - y;
						y++;
					}

					arr[x][y] = num;
					num++;
				}
			}
			width++;
		}
	}

	public void test2() {
		for (int j = 0; j < WIDTH; j++) {
			for (int i = 0; i < WIDTH; i++) {
				width++;
				for (int t = 0; t < width; t++) {
					width = i;
					x = i;
					y = width - x;
					num++;
					arr[x][y] = num;
				}
			}
		}
	}

	public void test3() {
		int i = 0;
		while (i < WIDTH) {
			int t = 0;
			while (t < width) {
				x = width - y;
				arr[x][y] = 0;
				x++;
			}
			width++;
		}
	}

	public void test4() {
		int width = 0;
		int post = 0;
		for (int i = 0; i < WIDTH * WIDTH; i++) {
			while (post <= width) {
				x = width - y;
				arr[x][y] = num;
				num++;
				post++;
			}
			width++;
		}
	}

	public void test5() {
		boolean left = false;
		width = 1;
		for (int i = 0; i < WIDTH; i++) {
			for (int j = 0; j < width; j++) {
				if (left) {
					x = width - 1 - y;
					arr[x][y] = num++;
					if (x != 0) {
						x--;
						y++;
					}
					if(y == 0)
					left = !left;
				} else {
					y = width - 1 - x;
					arr[x][y] = num++;
					if (y != 0) {
						y--;
						x++;
					}
					if(x == 0)
					left = !left;
				}
			}
			width++;
			left = !left;
			System.out.println(t.toString());
		}
	}

	@Override
	public String toString() {
		StringBuffer sb = new StringBuffer();
		for (int i = 0; i < arr.length; i++) {
			for (int j = 0; j < arr[0].length; j++) {
				if(arr[i][j] < 10)
					sb.append("0");
				sb.append(arr[i][j]);
				sb.append(' ');
			}
			sb.append("\n");
		}
		return sb.toString();
	}

	public static void main(String[] args) {
		t= new T();
		t.test5();
		System.out.println(t);
	}
}

分享到:
评论

相关推荐

    地震数据采集系统的绕接与蛇形排列技术

    在野外实践中,根据测区内障碍物对观测系统影响的差异,提出了4种典型的排列单元联接方法如交叉线绕接法、跳接法、无电缆连接法及蛇形排列法,并对不同联接方法的参数设置进行了说明。在山东东山王楼煤矿二、三采区三维...

    蛇形矩阵c++程序(数值排列)

    基于c++的蛇形矩阵,通过用户输入蛇形矩阵的维数,自动具体输出蛇形排列矩阵

    Python笔试题之蛇形矩阵:

    输入一个正整数N(N不大于100),输出一个n行的蛇形矩阵。 示例输入: 5 示例输出: 1 3 6 10 15 2 5 9 14 4 8 13 7 12 11 解法一: while True: try: N = int(input()) tmp_begin = 1 # 第一行的数 for i in ...

    利用数组打印蛇形数图形

    首先让我们来理解一下什么是蛇形数,它是一组用特定形式排列的数字图形,实现数字的排列就是最重要的问题。 我们通过几个例子,来说明一下蛇形数数组的排列方式是怎么样的,以本段代码产生的程序运行结果为例: 输入3...

    java 蛇形矩阵 最简单的 初学者用

    java 蛇形矩阵 最简单的 初学者用

    排座次1.5.xlsm

    利用excel表,排考场座位,可以横向排列,蛇形排列,斜形排列,做到相邻座位的同学非同班,能有效做到因座位安排而导致的作弊隐患,开源代码,直接可用

    蛇形方阵 输出一个 n 阶方阵,其元素排列方式为:从左上角开始按列顺序呈现出蛇形

    输入描述 每行一个正整数 n (n ),表示 n 阶方阵。 输出描述 按列序排列的蛇形矩阵,每个方阵之间空一行。每个矩阵元素间一个空格,包含最后一个元素之后。

    考试座位编排与统计系统

    本系统是学校一线教师根据实际需要开发,主要功能有座位随机编排,座位蛇形排列,成绩录入,各校成绩横向对比,校内成绩对比与分析等。本系统经过了多次考试的检验,证明了其实用性,主要适用于中小学的各种形式的...

    acm编程比赛入门题目集.pdf

    问题描述:蛇形矩阵是由 1 开始的自然数依次排列成的一个矩阵上三角形。 问题分析:这道题目考察了数组和矩阵操作的能力。需要编写程序生成一个蛇形矩阵,并输出对应的矩阵数据。 四、青蛙的约会 问题描述:两只...

    nmd:CC ++的单头库集。 代码还远没有完成,但是有些部分还是很有用的

    展示柜(不分先后排列)守则准则确保C89兼容性。 每个标识符都使用蛇形大小写。 枚举和宏均为大写,其他所有标识符均为小写。 非内部标识符以NMD_前缀开头。 例如nmd_x86_decode() 。 内部标识符以_NMD_前缀开头。 ...

    贪吃蛇java小程序源码-codingchallenges:我必须编写代码才能解决的随机谜题列表

    蛇形立方体是一个机械拼图,由 27 个立方体组成的链子由一条穿过它们的松紧带连接。 每个立方体只能在一个轴上自由旋转。 拼图的目的是排列链条,使它们形成 3 x 3 x 3 立方体。 看 爱因斯坦之谜 阿尔伯特·爱因斯坦...

Global site tag (gtag.js) - Google Analytics