奇数阶幻方 java_N(奇数)阶幻方-java实现代码

看完最强大脑,有一期是说N阶幻立方的,作为一个程序员,我的第一反应时我可以用程序实现,在此公布N(奇数)阶幻方的java实现代码:

package com.lzugis.test;

public class Practice {

public static int[][] magicOdd(int n) {

int[][] square = new int[n + 1][n + 1];

int i = 0;

int j = (n + 1) / 2;

for (int key = 1; key <= n * n; key++) {

if ((key % n) == 1)

i++;

else {

i--;

j++;

}

if (i == 0)

i = n;

if (j > n)

j = 1;

square[i][j] = key;

}

int[][] matrix = new int[n][n];

for (int k = 0; k < matrix.length; k++) {

for (int l = 0; l < matrix[0].length; l++) {

matrix[k][l] = square[k + 1][l + 1];

}

}

return matrix;

}

public static void main(String[] args) {

int[][] magic = Practice.magicOdd(3);

for (int k = 0; k < magic.length; k++) {

for (int l = 0; l < magic[0].length; l++) {

System.out.print(magic[k][l] + " ");

}

System.out.println();

}

}

}效果如下:

abaa4fd583bcd9934516012c5142e821.png

3阶幻方

49d391325744197cab57e75f3ea3d072.png

5阶幻方

备注:

幻方(Magic Square)是一种将数字安排在正方形格子中,使每行、列和对角线上的数字和都相等的方法。幻方中间格的值为(N*N+1)/2,即3阶幻方中间为(3*3+1)/2=5,3阶幻方中间为(5*5+1)/2=13,……

如有疑问请联系:

QQ:1004740957

Email:niujp08@qq.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/475249.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NSDateFormatter设定日期格式

部分日期格式的总结&#xff1a; NSDateFormatter * dateFormatter [[[NSDateFormatter alloc] init]autorelease]; [dateFormatter setAMSymbol:"AM"]; [dateFormatter setPMSymbol:"PM"]; [dateFormatter setDateFormat:"dd/MM/yyyy hh:mmaaa"…

LeetCode 1265. 逆序打印不可变链表(递归)

文章目录1. 题目2. 解题1. 题目 给您一个不可变的链表&#xff0c;使用下列接口逆序打印每个节点的值&#xff1a; ImmutableListNode: 描述不可变链表的接口&#xff0c;链表的头节点已给出。 您需要使用以下函数来访问此链表&#xff08;您 不能 直接访问 ImmutableListNo…

zz面试题小结

如果搞过ACM的人&#xff0c;找工作的确很好找&#xff0c;基本微软、百度之类都可以很容易拿到offer&#xff0c;我不是算法牛人&#xff0c;没搞过ACM&#xff0c;没拿过什么奖&#xff0c;没进过什么实验室&#xff0c;水平一般&#xff0c;所以更能代表大众吧。 总结一些常…

java流的传递方式是_java中数据的传递方式到底是怎样的!

今天早上我了一道有关java的题。主要考点是考java中值得传递方式。之前我在javaoo里总结的是&#xff1a;基本数据类型中保存的是实际的值,引用数据类型保存的是被引用的内存地址&#xff0c;那么基本数据类型就是按值传递&#xff0c;引用数据类型就是按地址来传递的。(难道我…

LeetCode 408. 有效单词缩写

文章目录1. 题目2. 解题1. 题目 给一个 非空 字符串 s 和一个单词缩写 abbr &#xff0c;判断这个缩写是否可以是给定单词的缩写。 字符串 “word” 的所有有效缩写为&#xff1a; ["word", "1ord", "w1rd", "wo1d", "wor1&qu…

java 钩子线程_java-钩子线程

在线上Java程序中经常遇到进程程挂掉&#xff0c;一些状态没有正确的保存下来&#xff0c;这时候就需要在JVM关掉的时候执行一些清理现场的代码。Java中得ShutdownHook提供了比较好的方案。JDK在1.3之后提供了Java Runtime.addShutdownHook(Thread hook)方法&#xff0c;可以注…

LeetCode 604. 迭代压缩字符串

文章目录1. 题目2. 解题1. 题目 对于一个压缩字符串&#xff0c;设计一个数据结构&#xff0c;它支持如下两种操作&#xff1a; next 和 hasNext。 给定的压缩字符串格式为&#xff1a;每个字母后面紧跟一个正整数&#xff0c;这个整数表示该字母在解压后的字符串里连续出现的…

java郝斌_郝斌Java自学教程全集打包

课程介绍&#xff1a;1_Java概述_12_Java概述_23_Java概述_34_Java的卸载5_Java的安装6_环境变量的设置7_常见dos命令 文件名和类名不同时编译运行的问题8_变量命名规则 数据类型 运算符 格式化输出 流程控制9_复习上节课10_类和对象11_内存分配12_访问控制符_113_访问控制符_2…

LeetCode 1056. 易混淆数(哈希)

文章目录1. 题目2. 解题1. 题目 给定一个数字 N&#xff0c;当它满足以下条件的时候返回 true&#xff1a; 原数字旋转 180 以后可以得到新的数字。 如 0, 1, 6, 8, 9 旋转 180 以后&#xff0c;得到了新的数字 0, 1, 9, 8, 6 。 2, 3, 4, 5, 7 旋转 180 后&#xff0c;得到…

hoj2677 Instruction Set // poj3253Fence Repair 哈夫曼树

/* 哈弗曼编码&#xff0c;比如权值为 a:1 b:1 c:2 d:3 e:5 f:6 的树 1.开始时由最小的两个数 a:1 b:1组成一棵树 2.接着由新的最小的两个数 2 c:2 d:3 e:5 f:6 中的 2 c:2组成新的树 3.接着由最小的两个数 4 d:3 组成新的树 4.接着由最小的两个数 e:5 f:6 组成一棵树 5.接着由…

java数组的实现_Java数组HashCode实现

这很奇怪。一位同事询问了java中myArray.hashCode()的实现。我以为我知道&#xff0c;但是后来我进行了一些测试。检查下面的代码。我注意到的奇怪想法是&#xff0c;当我编写第一个系统时&#xff0c;结果是不同的。请注意&#xff0c;这几乎就像报告内存地址并修改类一样&…

LeetCode 624. 数组列表中的最大距离

文章目录1. 题目2. 解题2.1 暴力超时2.2 优化1. 题目 给定 m 个数组&#xff0c;每个数组都已经按照升序排好序了。 现在你需要从两个不同的数组中选择两个整数&#xff08;每个数组选一个&#xff09;并且计算它们的距离。 两个整数 a 和 b 之间的距离定义为它们差的绝对值 |…

strcpy()函数一个简单那程序来了解一下它。。

View Code #include <stdio.h>#include <string.h>int main() { char a[5] "ABCD"; char b[8] "abcdefg"; char c[8] "abcdefg"; char d[5] "ABCD";strcpy(a,b); //长的复制给短的strcpy(c,d);//短的复制给长的print…

java怎么调用7zip进行压缩_JAVA使用7-zip解压缩带密码的Zip文件(非Proccess方法)...

首先到sourceforge网站下载sevenzipjbinding压缩包我下载的版本是sevenzipjbinding-4.65-1.04-rc-extr-only-AllWindows.zippublicvoidunzipDirWithPassword( final String sourceZipFile ,final String destinationDir , final String password ){RandomAccessFile randomAcce…

LeetCode 156. 上下翻转二叉树(DFS)*

文章目录1. 题目2. 解题1. 题目 给定一个二叉树&#xff0c;其中所有的右节点要么是具有兄弟节点&#xff08;拥有相同父节点的左节点&#xff09;的叶节点&#xff0c;要么为空 将此二叉树上下翻转并将它变成一棵树&#xff0c; 原来的右节点将转换成左叶节点。返回新的根。 …

httpd 分页_更改 Apache httpd.conf 配置文件

提示&#xff1a;如果在虚拟主机商配置&#xff0c;请直接配置第三、四步&#xff0c;因为支持 .htaccess 的空间已经配置好了前面两步。用编辑器打开 Apache 配置文件 httpd.conf(该文件位于 Apache 安装目录Apache2conf)&#xff0c;并按如下步骤修改&#xff0c;。一、加载了…

C#23种设计模式WebCast讲解笔记大全(25讲)

C#面向对象设计模式第一讲&#xff1a;面向对象设计模式与原则 C#面向对象设计模式第二讲&#xff1a;Singleton Pattern单件模式&#xff08;创建型模式&#xff09; C#面向对象设计模式第三讲&#xff1a;Abstract Factory Pattern 抽象工厂模式&#xff08;创建型模式&#…

textlayout Java_Java TextLayout.getBounds方法代码示例

import java.awt.font.TextLayout; //导入方法依赖的package包/类/*** {inheritDoc}*/Overridepublic void paintComponent(Graphics g) {updateSizes();Graphics2D g2d (Graphics2D) g;chatDisplay.removeOldMessages();Dimension size getSize();if (freeColClient.isMapEd…

LeetCode 311. 稀疏矩阵的乘法

文章目录1. 题目2. 解题2.1 暴力求解2.2 选取都不为0的行和列相乘1. 题目 给你两个 稀疏矩阵 A 和 B&#xff0c;请你返回 AB 的结果。 你可以默认 A 的列数等于 B 的行数。 请仔细阅读下面的示例。 示例&#xff1a; 输入&#xff1a; A [[ 1, 0, 0],[-1, 0, 3] ] B [[ 7…

jQuery UI应用--滑块Slider

1、 Animate&#xff1a; 类型Boolean 默认值false a) 用处&#xff1a;单击滑动区域时&#xff0c;滑块是否使用动画效果平滑移动到单击位置。 b) 代码示例&#xff1a; 创建实例时设置属性值 $(".class").slider({animate:true}); 实例化后得到…