奇数阶幻方 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
總結
以上是生活随笔為你收集整理的奇数阶幻方 java_N(奇数)阶幻方-java实现代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: a算法TSP旅行商java_A*算法实现
- 下一篇: httpd 分页_更改 Apache h