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

本文展示了如何使用Java编程实现奇数阶幻方。通过提供的代码,可以生成3阶和5阶幻方,并解释了幻方的数学原理,即每行、每列和对角线上的数字和相等。同时,文中提供了作者的联系方式以解答可能的疑问。
摘要由CSDN通过智能技术生成

看完最强大脑,有一期是说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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值