回型矩阵问题_尘~容的博客-程序员秘密

技术标签: java  

链接:https://ac.nowcoder.com/acm/problem/22230
来源:牛客网

题目描述
给你一个整数n,按要求输出n∗n的回型矩阵
输入描述:
输入一行,包含一个整数n

1<=n<=19
输出描述:
输出n行,每行包含n个正整数.
示例1
输入
复制
4
输出
复制
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7

主要思想:创建二维数组,根据题意,我们知道需要nn个数,且是从1到nn,创建一个while循环,我们知道,下标的变化很重要。
初始化i,j的值,分别使得i=0;j=-1,再初始化一个值counter,这个值是控制下标变化,将n的值赋予b,程序执行4次for循环,依次输出1 2 3 4。然后跳出进入if判断,满足条件b–;之后counter++,回到for循环,这次循环3次,且执行第二个if判断,注意,这个时候的j=3,而i=0,所以就相当于向下进行二维数组的填充,以此类推,直到while循环被满足,结束并输出。

代码


import java.util.*;
public class Main {
    
    public static void main(String[] args) {
    
        Scanner in = new Scanner(System.in);
              int n=in.nextInt();
              int i = 0,k,d=1,b,counter = 0,j=-1;
            int a[][]=new int[20][20];
            b=n;
            while(d<=n*n)
            {
    
                for(k=0;k<b;k++)
                {
    
                    if(counter%4==0)
                    {
    
                        j++;
                        a[i][j]=d;
                    }
                    if(counter%4==1)
                    {
    
                        i++;
                        a[i][j]=d;
                    }
                    if(counter%4==2)
                    {
    
                        j--;
                        a[i][j]=d;
                    }
                    if(counter%4==3)
                    {
    
                        i--;
                        a[i][j]=d;
                    }
                    d++;
                }
                if(b==n||b!=n&&counter%2==0)
                    b--;
                counter++;
            }
            for(i=0;i<n;i++)
            {
    
                for(j=0;j<n;j++) {
    
                	System.out.print(a[i][j]+" ");
            }
        	System.out.println();
            }
               }
          }
    

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/C1hacker/article/details/104395521

智能推荐

R语言进行Box-Cox变换_r语言boxcox变换_上官峰晨的博客-程序员秘密

R语言进行Box-Cox变换为什么要进行Box-Cox转换Box-Cox是一种广义幂变换,统计建模中常用的变换,用于连续响应变量不满足正态时的情况。Box-Cox的一个显著的有点是通过求变参数λ来确定变换形式,而这个过程完全基于数据本身而无需任何先导信息,这比凭经验的对数,平方根变换更客观。Box-Cox变换公式其中,y必须取正值,y值为负,首先y+a,对不同的λ所做的变换不同。λ=0对数变换;λ=-1倒数变换;λ=0.5平方根变换。基于R语言进行Box-Cox转换STEP1:加载程序包并

【增长工程学】如何研究数字广告投放策略?(Part1)_增长黑盒的博客-程序员秘密

好久不见,增长黑盒有一个月没有发文了,甚至有粉丝在后台开始写血书留言了。我们一切安好,只是由于接业务而降低了更新频率~不过好消息是我们最近又有几名新的小伙伴加入了!新的研...

odoo的增删改查__冰澈的博客-程序员秘密

self.env[‘base.container’].search([(‘id’, ‘in’, ids)])增 create删 unlink改 write查 search

antd-vue a-menu菜单绑定路由相关问题_晚上八点半的博客-程序员秘密

antd-vue a-menu菜单绑定路由相关问题tips: 路由绑定、菜单跳转、网页后退高亮显示1. 问题描述使用antd-vue 的 a-layout布局和a-menu菜单做一个侧边栏菜单,加入vuex配置侧边栏点击事件,实现点击菜单改变路由展示中间部分内容的功能但是出现了问题: 重复点击路由报错 浏览器刷新/后退 菜单高亮区域没有根据路由的变化产生变化 2. 解决方法 对路由变化进行判断/修改router 的push与replace方法 借助a-me

金庸武侠功夫发展史_3u的博客-程序员秘密

​金庸武侠小说,塑造的江湖世界,亦正亦奇,亦幻亦真,让吾等武侠迷流连忘返,欲罢不能。正所谓:无功夫不武侠。今天,在下不才,给大家扒一扒金庸小说功夫的发展史,并斗胆分析功夫衰败的原因和发展机会。零、引子话说金庸武侠小说,尽在“飞雪连天射白鹿,笑书神侠倚碧鸳”。在下按故事发生的朝代年代,由远及近整理如下: 北宋:天龙八部 南宋:射雕英雄传、神雕侠侣 元:倚天屠龙记 明:笑傲江湖、侠客行 清:碧血剑、鹿鼎记、连城诀、书剑恩仇录、飞狐外传、雪山飞.

EXC_BAD_ACCESS异常 _block_invoke 问题_iOSTianNan的博客-程序员秘密

EXC_BAD_ACCESS异常 _block_invoke 问题参考 http://blog.csdn.net/dqjyong/article/details/22511643 这个帖子贴下报错图代码背景在接入JHL蓝牙的过程中,我使用一个ViewController类 来作为这个蓝牙的管理类 (父类是视图控制器ViewController) 当我在主界面OrderViewController中

随便推点

(踩坑)神经网络下载MNIST报错,ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接_SlowToFast的博客-程序员秘密

在做莫烦的神经网络mnist手写字体数据分类的时候,遇到了bugConnectionAbortedError: [WinError 10053]在网上找了一天也没找到,其他人报错基本上都是写爬虫的时候的错误,我在想可能还是网络的问题,下载mnist数据包的源地址可能速度并不快,在网上找了下载mnist时timeout的解决方法,解决了bug在错误信息里面找到mnist,py文件,点进去:然后修改最上面的mnist数据来源:把原来的DEFAULT_SOURCE_URL = ‘https://st

外卖券外卖省省外卖探探美团饿了么外卖联盟优惠券小程序系统软件开发源码 美团/饿了么外卖CPS联盟返利公众号小程序裂变核心源码_m0_56957613的博客-程序员秘密

外卖CPS红包小程序源码分享外卖返利小程序饿了么美团吃喝玩乐电影票对接公众号返利系统分销系统源码【小程序】外卖CPS优惠券小程序平台v3.0源码外卖红包小程序 美团外卖小程序 饿了么外卖小程序 美团饿了吗技术栈服务端api基于Node.js+ThinkJS+MySQL后台管理 基于VUE.js+element-ui小程序基于Trao饿了么、美团优惠开发(外卖cps,三级裂变源码)源码搭建https://gitee.com/my-humble-opinion/rowew_eeee截图

linux驱动程序开发的学习步骤_weixin_30576827的博客-程序员秘密

1.学会写简单的makefile2.编一应用程序,可以用makefile跑起来3.学会写驱动的makefile4.写一简单char驱动,makefile编译通过,可以insmod,lsmod,rmmod.在驱动的init函数里打印helloworld,insmod后应该能够通过dmesg看到输出。5.写一完整驱动,加上read,wr...

无法定位程序输入点 _except_handler4_common 于动态链接库msvcrt.dll上_iamshuke的博客-程序员秘密

今天一个用户装了我们软件后进不去,提示“无法定位程序输入点 _except_handler4_common 于动态链接库msvcrt.dll上”,操作系统是XP sp3,什么快速装机优化版(给优化坏了)。baidu了一下都是让改dwmapi.dll,可用户机器上根本没有这个dll。自己查引用模块的导出函数,搞了半天终于发现,是OpenGL32.dll用到的glu32.dll中引用了_excep

解决虚拟机模块disk启动失败_?((????=))? ??的博客-程序员秘密

打开虚拟机的时候显示什么什么快照错误,虚拟机模块disk启动失败解决方法如下在此路径中找到.vmx文件,在文件中查找vmci0.present,此时会看到“vmci0.present = "TRUE"”修改为FALSE即可。在文件内部创建一个名为垃圾桶的文件夹然后把lck后缀的文件转移到垃圾桶里面然后重新打开虚拟机...

推荐文章

热门文章

相关标签