回形填数与蛇形填数问题(Java)
来源:互联网 发布:makerbot软件下载 编辑:程序博客网 时间:2024/06/06 02:35
回形填数与蛇形填数问题(Java)
一、问题描述:
当给出N*N的矩阵,要求填入下列形式的数:
1. 回形填数
例如:
当N=5时,有
25101112132492314238141522765162120191817
当N=5时,有
当N=6时,有
3617181920213516567223415418233314329243213121110253130292827262. 蛇形填数
例如:
当N=5时,有
13410112591219681318207141721241516222325
二、问题分析:使用二维数组存储数据
二、问题分析:使用二维数组存储数据
三、源代码:
1.回形填数
import java.util.Scanner;public class huixing {public static void main(String[] args) {int n;Scanner input = new Scanner(System.in);n = input.nextInt();int m = n * n;int[][] num = new int[n][n];for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {num[i][j] = 0;}}int i = 0, j = 0;int t = 1;while (m > 0) {while (i < n && i >= 0 && num[i][j] == 0) {num[i][j] = m;m --;i += t;}i -= t;j += t;while (j >= 0 && j < n && num[i][j] == 0) {num[i][j] = m;m --;j += t;}j -= t;t = -t;i += t;}for (i = 0; i < n; i++) {for (j = 0; j < n; j++) {System.out.format("%-4d", num[i][j]);}System.out.println();}System.out.println();}}
import java.util.Scanner;public class shexing {public static void main(String[] args) {int n;Scanner input = new Scanner(System.in);n = input.nextInt();int[][] num = new int[n][n];for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {num[i][j] = 0;}}int i = 0, j = 0;int m = 1;int flag = 0;while (m <= n * n) {//左下动while (i >= 0 && i < n && j >= 0 && j < n && num[i][j] ==0) {num[i][j] = m;m ++;i ++;j --;}i --;j ++;if (n % 2 == 1 && i == n -1) {flag = 1;}if (flag == 0) {i ++;}else {j ++;}//右上动while (i >= 0 && i < n && j >= 0 && j < n && num[i][j] ==0) {num[i][j] = m;m ++;i --;j ++;}i ++;j --;if (n % 2 == 0 && j == n-1) {flag = 1;}if (flag == 0) {j ++;}else {i ++;}}for (i = 0; i < n; i++) {for (j = 0; j < n; j++) {System.out.format("%-4d", num[i][j]);}System.out.println();}System.out.println();}}
0 0
- 回形填数与蛇形填数问题(Java)
- 蛇形填数问题
- 蛇形填数问题
- 蛇形填数问题
- 【java】蛇形填数 螺旋填数
- NYOJ_33 蛇形填数(蛇形矩阵)
- (33)蛇形填数
- 蛇形填数(矩阵)
- 蛇形填数 (一)
- 蛇形填数 (二)
- 蛇形填数(2)
- 蛇形填数(二)
- 蛇形填数(二)
- 蛇形填数问题(ACM入门)
- 关于蛇形填数问题求解
- 有关蛇形填数的问题
- NYOJ-33蛇形填数问题
- 算法竞赛一些基础问题的复习(java) 2(开灯问题、蛇形填数、TEX、wertyu)
- 初学JS值之用JS实现鼠标移入移出事件
- [51nod1655]染色问题
- ThinkPhp 5.0 CSS,JS文件添加时间戳
- 【rabbitMQ 用法】
- CNN实战
- 回形填数与蛇形填数问题(Java)
- js创建对象的方法以及优缺点
- Leetcode 16 3Sum Closest
- bootsrapValidator表单验证
- Android学习之Paint图形图像处理(一)
- laravel5使用中间件时ErrorException in Route.php line 194
- Struts 2详细工作流程
- 菜单栏
- java正则表达式