三角螺旋阵 方阵的主对角线之上称为“上三角”。 请你设计一个用于填充n阶方阵的上三角区域的程序。填充的规则是:使用1,2,3….的自然数列,从左上角开始,按照顺时针方向螺旋填充。
2013-04-24 23:16
1086 查看
/* 三角螺旋阵 方阵的主对角线之上称为“上三角”。 请你设计一个用于填充n阶方阵的上三角区域的程序。填充的规则是:使用1,2,3….的自然数列,从左上角开始,按照顺时针方向螺旋填充。 例如:当n=3时,输出: 1 2 3 6 4 5 当n=4时,输出: 1 2 3 4 9 10 5 8 6 7 当n=5时,输出: 1 2 3 4 5 12 13 14 6 11 15 7 10 8 9 程序运行时,从标准输入获得整数n(3~20) 程序输出:方阵的上三角部分。 要求格式:每个数据宽度为4,右对齐。 */ import java.util.Scanner; public class 三角螺旋阵 { // 输出 public static void print(int[][] m){ for(int[] x:m){ for(int y:x){ System.out.printf("%4d",y); } System.out.println(); } } // 初始化 public static void init(int[][] m){ for(int i=0;i<m.length;i++){ m[i] = new int[m.length-i]; } } // 螺旋填充数字 public static void f(int[][] m,int k,int num){ if(k>=m.length/2) return ; // 第一行 for(int i=k;i<m[k].length-k;i++){ m[k][i] = num++; } // 最后一位 for(int i=k+1;i<m[k].length-k;i++){ m[i][m[i].length-1-k] = num++; } // 左列 for(int i=m[k].length-2-k;i>k;i--){ m[i][k] = num++; } f(m,k+1,num); // 递归进行内圈填充 } public static void main(String[] args){ Scanner scan = new Scanner(System.in); System.out.println("输入整数n(3~20)"); int n = scan.nextInt(); int[][] m = new int []; init(m); // 初始化 f(m,0,1); // 螺旋填充数字 print(m); // 输出 } }
运行结果:
输入整数n(3~20) 5 1 2 3 4 5 12 13 14 6 11 15 7 10 8 9
相关文章推荐
- 请你设计一个用于填充n阶方阵的上三角区域的程序。
- 设计程序,单击【随机数】按钮,使用Math对象的random函数产生一个0-100之间(含0-100)的随机整数,并在对话框中显示,如下图。单击【计算】按钮,计算该随机数的平方、平方根和自然对数,保留两位小数,并在对话框中显示,如下图。
- 请写出一个程序,对于一个m行,m列的(1<m<10)的方阵,求其每一行,每一列及 主对角线元素之和,最后按照从大到小的顺序依次输出
- 从键盘输入一个整数(1~20) 则以该数字为矩阵的大小,把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中。
- HDFS设计思路,HDFS使用,查看集群状态,HDFS,HDFS上传文件,HDFS下载文件,yarn web管理界面信息查看,运行一个mapreduce程序,mapreduce的demo
- 贡献一个小程序,用于辅助页面设计的,喜欢的来顶下
- 有一个帐号类,包含有(id、用户名和密码),编写程序使用List接口来存储多个帐号对象,注意id是自动生成(规则是为List中所有帐号中最大的id再加1)
- 求一个4*4矩阵两对角线元素之和 设计一个程序
- 3. 设计一个带有菜单的图形用户界面程序,使用级联菜单控制文字的字体和颜色,运行结果如下图所示
- Java 小例子:按照顺时针或逆时针方向输出一个数字矩阵
- 编写一个程序输出螺旋方阵
- 使用CreatePatternBrush,用位图填充一个矩形区域,出现交错问题??
- 设计一个程序,用于赛车上的计算机监视系统
- 输出一个矩阵,按照顺时针方向内增大
- C# 创建、部署和调用WebService的简单示例 webservice 可以用于分布式应用程序之间的交互,和不同程序之间的交互。 概念性的东西就不说太多,下面开始创建一个简单的webservi
- 如何在Visual Studio 2017中使用C# 7+语法 构建NetCore应用框架之实战篇(二):BitAdminCore框架定位及架构 构建NetCore应用框架之实战篇系列 构建NetCore应用框架之实战篇(一):什么是框架,如何设计一个框架 NetCore入门篇:(十二)在IIS中部署Net Core程序
- Problem Description 有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。 Input 输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义
- 上三角的输出 方阵的主对角线之上称为“上三角”。
- 报数游戏 有n个孩子站成一圈,从第一个孩子开始顺时针方向报数,报到3的人出列,下一个人继续从1报数, 直到最后剩下一个孩子为止。问剩下第几个孩子。
- Singleton单例模式是最简单的设计模式,它的主要作用是保证在程序执行生命周期中,使用了单类模式的类仅仅能有一个实例对象存在。