魔方阵输出

2023-11-10

如3×3的魔方阵[1] :
8 1 6
3 5 7
4 9 2
魔方阵的排列规律如下:
⑴将1放在第一行中间一列;
⑵从2开始直到n×n止各数依次按下列规则存放;每一个数存放的行比前一个数的行数减1,列数加1(例如上面的三阶魔方阵,5在4的上一行后一列);
⑶如果上一个数的行数为1,则下一个数的行数为n(指最下一行);例如1在第一行,则2应放在最下一行,列数同样加1;
⑷当上一个数的列数为n时,下一个数的列数应为1,行数减去1。例如2在第3行最后一列,则3应放在第二行第一列;
⑸如果按上面规则确定的位置上已有数,或上一个数是第一行第n列时,则把下一个数放在上一个数的下面。例如按上面的规定,4应该放在第1行第2列,但该位置已经被占据,所以4就放在3的下面;
将第一行中间列的元素赋值为1。从第二个数开始,每个数都等于前一个数的行 - 1 列 +1,(但这里还包含很多条件,如上条件所述)直到最终元素值等于n×n

public class TestDemo {

    public static void magicScqure(int[][] array,int n) {//3     1- 9
        array[0][n/2] = 1;
        int prevRow = 0;
        int prevCol = n/2;
        for(int i = 2;i <= n*n;i++) {
            if(array[(prevRow-1+n)%n][(prevCol+1)%n] != 0) {
                //上一行的下一列没有数据
                prevRow = (prevRow+1)%n;//下一行
            } else {
                prevRow = (prevRow-1+n)%n;
                prevCol = (prevCol+1)%n;
            }
            array[prevRow][prevCol] = i;
        }
    }

    public static void main(String[] args) {
        int row = 5;
        int[][] array = new int[row][row];
        magicScqure(array,row);
        System.out.println(Arrays.deepToString(array));
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

魔方阵输出 的相关文章

  • c++primer 第十七章笔记 01tuple类型

    tuple类型 tuple看作一个 快速而随意 的数据结构 三个成员都设置为0 tuple
  • flowable实战(四):构建命令行程序

    实际上前面那些都是前置知识 真正上手的话其实还是一脸懵的情况 这里我也是按照文档生成一个最简单的demo 这个demo就是一个简单的Maven工程 你只要启动main方法就可以看到效果 github实例代码地址 这里如果直接下载代码 如果不
  • TCP的乱序和丢包判断(附Reordering更新算法)-实例case

    写前一篇文章TCP的乱序和丢包判断 附Reordering更新算法 理论的时候 我觉得我在一边拉一边吃 玩的都是排泄物 言之无味 不知所云 我想把一些能看得见摸得着的东西独立出来 就成了本文 如果有一天我忘掉了TCP的细节 我想我直接把本文
  • ADB无线连接/wifi调试 安卓设备

    一般 对android设备使用adb命令前 需要先用数据线连接设备后 才可以继续使用 此篇文章 我们来讲另外一种android设备的连接方式 无线连接 一 无线连接设置的具体步骤如下 第一步 先用USB数据线 将手机和电脑连接在一起 1 数
  • Python兼职接单也能月入过万,整理了70个练手的小项目,赶快学起来

    下面是一些的python兼职单子截图 心动了吗 快去抓紧时间学习起来吧 上述这份完整版的Python全套学习资料已经上传CSDN官方 朋友们如果需要可以直接划到文末免费领取 保证100 免费 关于Python技术储备 学好Python 不论
  • SpringSecurity学习笔记(一)springSecurity的整体架构

    参考视频 编程不良人 1 什么是SpringSecurity 首先我们要知道SpringSecurity是Spring家族中的一员 是基于spring框架提供的一套web应用安全性的完整解决方案 包括可高度定制的认证 授权 鉴权等一系列的流
  • 元宇宙沉浸式互动展示系统开发定制平台

    2021年公认是元宇宙元年 今年元宇宙的发展更是得到了社会各界的广泛关注 元宇宙首次被写入地方 十四五 规划 各大数字科技巨头 政府机构也都纷纷入局元宇宙 随着元宇宙的变现能力和商业化前景已经得到证实 元宇宙概念与广告营销业的深度融合优势开
  • 计算机毕业设计ssm基于java语言的自行车在线租赁系统k22rh9 (附源码)轻松不求人

    项目运行 环境配置 Jdk1 8 Tomcat7 0 Mysql HBuilderX Webstorm也行 Eclispe IntelliJ IDEA Eclispe MyEclispe Sts都支持 项目技术 ssm mybatis Ma
  • Java 自定义注解及使用场景

    Java自定义注解一般使用场景为 自定义注解 拦截器或者AOP 使用自定义注解来自己设计框架 使得代码看起来非常优雅 本文将先从自定义注解的基础概念说起 然后开始实战 写小段代码实现自定义注解 拦截器 自定义注解 AOP 一 什么是注解 A
  • 小程序+uniapp部分问题

    微信小程序showModal中content的内容如何换行 在需要换行的位置加上 r n 即可实现内容的换行 注 微信开发者工具可能看不到效果 但是真机实测是会换行的 wx showModal title 提示 content 未达到最低使
  • 百度云加速配置SSL证书方法

    配置前提 确保域名在HTTP普通网站可以正常打开 并且域名已经解析到百度加速 一 登录沃通数字证书商店下载 SSL证书文件并且解压 选择nginx文件夹 百度云加速只需要用到nginx文件夹 二 登录百度云加速 https su baidu
  • 子系统 Arch Linux

    去年 还是前年不记得了 微软推出了子系统 官方支持的是Ubuntu 由于我对Ubuntu这样的重量级Linux没啥好感 当时只是安装了一下 就没怎么玩了 现在又有机会重新安装了Win10 去年在Arch社区得知Github上有关于Arch子
  • java Json转string方法

    Java中Json转string方法 Java利用Json lib包进行json对象转换成string JSONArray转换string方法实例 public static void main String args throws JSO
  • springboot配置类编写

    以配置一个DataSource为例 其他的类似 接下来我就给大家介绍具体步骤 1 首先写两个类 并添加注解 ConfigurationProperties 表明这是一个配置类 其中一个为dataSource的配置类 一个为jdbc的配置类
  • 为什么docker容器启动不了?

    sudo docker run d centos bin bash创建容器之后 使用docker ps a 发现容器已经停止 再使用docker start id 启动容器之后 观察ps a 的操作时间 发现容器其实已经启动过 但是马上就停
  • wsl 修改 hostname

    我在使用Windows 的 wsl 功能的时候发现在默认情况下 wsl 的 hostname 是和当前 windows 系统的主机名称保持一致的 当我尝试使用 hostname 修改主机名时 发现并不能完全修改 在重新进入后又会恢复成原来的
  • IDEA忽略文件,防止git提交不想提交的文件的探索

    使用IDEA开发有 一段时间了 从陌生到熟悉的过程算是很平稳的度过 感谢IntelliJ IDEA交流群 群号244908708 里面的群友对我提供的帮助 感谢群主的github上面提供的资料 这篇文章是探索git忽略文件提交的一些方面的研
  • 麦克风音频服务器未响应,耳机和麦克风都没坏,插上电脑后为什么不能语音聊天?...

    耳机和麦克风都没坏 插上电脑后为什么不能语音聊天 以下文字资料是由 历史新知网www lishixinzhi com 小编为大家搜集整理后发布的内容 让我们赶快一起来看一下吧 耳机和麦克风都没坏 插上电脑后为什么不能语音聊天 先确认你的电脑
  • 第十七章 Chisel基础——数据类型

    一 Chisel的常见问题 在学习Chisel前 应该熟悉一些常见问题 这些问题在编写Chisel的任何时候都应该牢记 Chisel是寄宿在Scala里的语言 所以它本质还是Scala 为了从Chisel转变成Verilog 语言开发人员开
  • 径向基神经网络(RBF)回归预测MATLAB实现超详细

    在机械学习算法的过程中 我们常用到一种神经网络就是径向基神经网络 这是一种使用径向基函数作为激活函数的人工神经网络 这种神经网络也有很多用途 比如时间序列预测 数据分类以及回归预测等等 今天主要讲解径向基神经网络在MATLAB的实现过程 对

随机推荐

  • 003_linux驱动之_file_operations函数

    一 解析file operations函数 解析002 linux驱动之 register chrdev注册字符设备中的问题 二 file operations结构原型 使用举例 三 从上面的原型可以看出file operations函数有
  • 不走索引的情况

    1 条件字段选择性弱 查出的结果集较大 不走索引 2 where条件等号两边字段类型不同 不走索引 3 优化器分析的统计信息陈旧也可能导致不走索引 4 索引字段 is null 不走索引 5 对于count 当索引字段有not null约束
  • nn.Conv2d——二维卷积运算解读

    PyTorch学习笔记 nn Conv2d 二维卷积运算解读 nn Conv2d 二维卷积运算 代码案例 一般用法 输出卷积运算的参数 填充方式 零填充 镜像填充 复制填充 循环填充 官方文档 nn Conv2d 二维卷积运算 torch
  • Could not load 'clearsilver-jni' java.library.path = out/host/linux-x86/lib make: *** [out/target/common/docs/api-stubs-timestam

    Could not load clearsilver jni java library path out host linux x86 lib make out target common docs api stubs timestamp
  • 关于C++代码中中文字符的错误或者乱码的解决办法

    在文件头加入下面这段内容 pragmaexecution character set utf 8 如果还不行就同时用Notepad 等一些工具转换成utf 8的编码 如不出意外已经解决问题了
  • Halcon卡尺测量

    halcon之机器视觉测量 卡尺测量 read image ImageModel image png get image size ImageModel Width Height dev open window 0 0 Width Heig
  • 内网信息收集-入门概念

    内网信息收集 在内网渗透测试环境中 有很多设备和防护软件 例如Bit9 ArcSight Mandiant 等 它们通过收集目标内网的信息 洞察内网网络拓扑结构 找出内网中最薄弱的环节 信息收集的深度 直接关系到内网渗透测试的成败 1 内网
  • 树莓派4b刷入openwrt做旁路由

    你需要准备 树莓派4b主板 1 tf卡 16GB 1 tf卡读卡器 Win32DiskImager软件 1 首先下载符合树莓派4b的openwrt固件 由于目前官方暂未提供 此处需要自行编译 2 以管理员运行方式打开Win32DiskIma
  • 1.认识多态 2.多态调用成员的特点 3.多态优势与弊端

    1 多态前提是有继承关系 并且有方法的重写 2 创建多态对象 Fu f new Zi 等号左边父 右边子 1 多态调用成员变量 调用的就是 Fu f new Zi Fu的 2 多态调用成员方法 调用的就是 被覆盖掉的父类 也就是子类 1 多
  • 通过终端上传文件至github

    1 打开终端 config自己的name和email git config global user name 使用者名称 git config global user email 邮箱 2 建立本地git仓库 cd到你的本地项目根目录 就是
  • python3 open()函数调用方法简单示例

    python3 open 函数调用简介 Python open 方法用于打开一个文件 并返回文件对象 在对文件进行处理过程都需要使用到这个函数 如果该文件无法被打开 会抛出 OSError 注意 使用 open 方法一定要保证关闭文件对象
  • Windows 下使用 grub2 制作美观的维护U盘

    本来是想用 grub4dos 的 但是那个的界面比较难看 于是就找到了 grub 就有了这篇文章 这篇文章主要针对 BIOS UEFI 可能不适用 预览 这是最终效果 实用工具子菜单 工具提取自老毛桃PE 当然也可以自己从其他地方找 文件管
  • iframe加载页面,onload函数不执行的问题

    前一阵子 做了个小工具 其中用到了一个隐藏的iframe结果出现了一个奇怪的现象 iframe加载的页面本来有一个onload来进行初始化的 结果这个onload函数指定的初始化代码并没有被执行 同时使用document getElemen
  • 线代【解方程组】--猴博士爱讲课

    第六课 解方程组 1 6判断方程组解的情况 判断方程组的解的情况 齐次唯一解例题 非齐次无解例题 非齐次有解例题 2 6解方程组 解方程组 共有五步 求增广矩阵的秩 变换矩阵 R 3 就变换前三行 前三列 为单位矩阵的形式 根据 得到的矩阵
  • 如何让HFSS仿真结果跟随当前optimization选中的参数组变化

    如何让HFSS仿真结果跟随当前optimization选中的参数组变化 我们经常使用HFSS优化参数 可以得到多组结果 一般来说 我们希望我们的图表显示当前这一组参数对应的S参数 这样当我们在optimization中应用不同组参数时 可以
  • 概率论考点之方差及数学期望

    如题 2019年10月 分析 由方差的性质 详见4 D 2x 1 D 2x 0 4D x 10 所以D x 2 5 答案选B 在此之前 不知什么是方差 1 什么是方差呢 可以说是建立在数学期望基础上的概念 什么是数学期望呢 详见扩展 关于数
  • VScode插件视图显示本地文件目录树

    前言 最近工作中需要用到vscode开发插件 作为一个没用使过vscode开发插件的小白 发现官网的教程还是很详细的 另外还发现了一篇适合小白的博文 VScode插件开发全攻略 小铭同学 大家也可以看看 写得很好 写这篇博文的目的是为了整理
  • weblogic 12c下jxls导出excel报错Could not initialize class org.apache.poi.xssf.usermodel.XSSFVMLDrawing...

    周一 开发反馈weblogic 12c下jxls导出excel报错 公司环境和UAT环境均报错 看日志如下 2016 06 08 09 16 55 825 ERROR org jxls util TransformerFactory cre
  • 【PAT甲级A1125】 Chain the Ropes (25分)(c++)

    1125 Chain the Ropes 25分 作者 CHEN Yue 单位 浙江大学 代码长度限制 16 KB 时间限制 200 ms 内存限制 64 MB Given some segments of rope you are sup
  • 魔方阵输出

    如3 3的魔方阵 1 8 1 6 3 5 7 4 9 2 魔方阵的排列规律如下 将1放在第一行中间一列 从2开始直到n n止各数依次按下列规则存放 每一个数存放的行比前一个数的行数减1 列数加1 例如上面的三阶魔方阵 5在4的上一行后一列