`
1140566087
  • 浏览: 555555 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
博客专栏
2c4ae07c-10c2-3bb0-a106-d91fe0a10f37
c/c++ 入门笔记
浏览量:18392
3161ba8d-c410-3ef9-871c-3e48524c5263
Android 学习笔记
浏览量:312671
Group-logo
J2ME 基础学习课程集
浏览量:18516
A98a97d4-eb03-3faf-af96-c7c28f709feb
Spring 学习过程记录...
浏览量:17454
社区版块
存档分类
最新评论

方正的主对角线为:“上三角”

阅读更多
import java.util.Scanner;


// 题目:
//方阵的主对角线之上称为“上三角”。
//请你设计一个用于填充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 = 5  的时候,能到的最大的长度为:(n*n-n)/2+n
 * 使用二维数组保存矩阵中的数值
 * 先向右,然后下左,然后向上,依次循环
 */
public class 上三角 {
	public static void main(String[] args){
		Scanner input = new Scanner(System.in);
		System.out.print("请输入一个数:");
		int n = Integer.parseInt(input.next());
		f(n);

	}
	public static void f(int h){
		//
		int n = h;	//n 的值 n行n 列
		int[][] array = new int[n][n];
		int temp = 1;
		int x=0,y = 0;
		array[x][y] = temp;	//进行元素的添加
		while(temp<(n*n-n)/2+n){  // n行n列 , 能回到的最大值;
			while(y+1<n && array[x][y+1]==0){	//向右
				array[x][++y] = ++temp;		
			}
			while(x+1<n && array[x+1][y-1]==0){	//向左下
				array[++x][--y] =++temp;
			}
			while(x-1>=0 && array[x-1][y]==0){	//向上
				array[--x][y] = ++temp;
			}
		}
		for(int i=0;i<n;i++){
			for(int j=0;j<n;j++){
				if(array[i][j]!=0){
					System.out.print(array[i][j]+" ");
				}
			}
			System.out.println();
		}
	}
}
分享到:
评论

相关推荐

    c++实现求数组两对角线元素之和

    在这个场景中,我们要计算一个二维数组的主对角线(即从左上角到右下角)和副对角线(从右上角到左下角)上的元素之和。 首先,让我们理解二维数组的基本概念。二维数组可以看作是由多个一维数组构成的矩阵,每个...

    LU分解法解线性方程组的C语言代码

    L矩阵的对角线元素初始化为1,非对角线元素初始化为0,U矩阵则保留A的原始值。 2. 高斯消元法:从左上角的元素开始,应用行交换、行倍乘和行加法等操作,逐步将A转换为下三角矩阵L和上三角矩阵U的组合。这通常通过...

    人教版角的度量0培训课件.doc

    1. 对准法:将量角器的中心点对准角的顶点,0度刻度线与角的一边重合,读取另一边所对的刻度值即可。 2. 分解法:对于大角度,可以将其分解为几个小的已知角度,通过加和得到总角度。 四、角的比较与分类 1. 角的...

    中建史简答论述题.doc

    1. **以木构架为主**:中国古代建筑的核心是木构架结构,分为穿斗式和抬梁式两种类型。穿斗式结构通过穿枋连接柱子,适合小型建筑,而抬梁式则利用层叠的梁柱结构,适用于大空间建筑。木构架具有灵活性和适应性,...

    楼梯间地砖技术交底大全.doc

    - **地砖**:选用600×300mm的米黄色地砖,踢脚线为100mm高的黑色成品踢脚线,踏步侧面则使用成品三角砖。 - **主要工具**:包括小水桶、半截桶、笤帚、方尺、水平尺、手锹、铁抹子、大杠、窄手推车、钢丝刷、喷壶...

    SAI各式各样的动漫眼睛绘制思路.docx

    5. **四边形眼**:这类眼睛以方正的形状为主,通常表现出成熟稳重,适合年长或严肃的角色。 6. **大眼睛**:大眼睛是动漫中的标志性特征,强调瞳孔和虹膜的面积,能强烈地传达角色的情感,是无辜和纯真的象征。 7....

    实测实量标准工具数量统计.pdf

    7. **对角尺**:用于检查矩形的方正度和对角差,确保结构的几何准确性。 8. **楔形塞尺**:适用于不同宽度的缝隙测量,如墙面接缝、瓷砖缝隙等,范围在1mm以上。 9. **0.02-1mm塞片尺**:对于更小的缝隙宽度,如...

    圣诞树源码,用python海龟库画出

    Python海龟库(Turtle)是一个非常有趣且适合初学者的图形绘制工具,它通过简单的命令就能让程序在屏幕上画出各种复杂的图形。在圣诞期间,我们可以利用它来创作一些富有节日气氛的图像,比如圣诞树、圣诞小火车、...

    汽车4S店设计和施工技术经验总结.doc

    地块形状以方正为宜,长宽比2:3利于布局,避免异形、三角形或转角过多的土地,以减少土地浪费和设计难度。同时,需关注场地是否存在高压线、大型市政设施,以及地质状况,如填土深度、岩石层、地下室建设可能性等,...

    常用的家居风水常识知识.pdf

    - 电视机不宜正对床,可以改为侧放或嵌入式设计。 - 床不可背对门,缺乏安全感,不利于休息。 3. **卧室布局**: - 卧室形状宜方正,避免狭长,以确保良好通风。 - 床位不应正对梁柱,梁柱可能产生压抑感,影响...

    CAD基础知识培训PPT教学课件.pptx

    14. **线宽显示**:控制线段在屏幕上的可见宽度,对于区分不同层次或重要性的线条很有帮助。 在CAD中,常用的图形编辑功能包括: 1. **删除对象**:ERASE命令用于移除不需要的对象,可以通过下拉菜单、工具栏按钮...

    挂贴釉面砖施工组织设计方案.doc

    - 对饰面砖的平面度、垂直度、阴阳角方正度、接缝直线度、接缝高低差和宽度差等进行严格控制。 这份施工组织设计方案旨在保证挂贴釉面砖的质量和美观性,通过对每个步骤的详细规划和质量监控,确保了工程的整体...

    住宅风水讲座住宅风水大师厉和民PPT学习教案.pptx

    例如,主卧室应朝向阳光充足的方向,客卧室则可以稍微偏阴凉;厨房和餐厅应相邻,方便用餐,卧室与卫生间位置应适当,便于日常使用。 为了【营造好气场】,住宅内部布局必须避免不良格局,如门口直对厕所(开门见厕...

Global site tag (gtag.js) - Google Analytics