首页 > 代码库 > N(奇数)阶幻方-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(); } } }效果如下:
3阶幻方
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
N(奇数)阶幻方-java实现代码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。