幻方的特点是:由自然数构成n×n正方形阵列,称为n阶幻方,每一行、每一列、两对角线上的数之和相称。当n为奇数时,我们称幻方为奇阶幻方。法国人罗伯总结出了构造奇数阶连续自然数幻方的简单易行的方法“罗伯法”。奇数幻方有杨辉法,罗伯法(楼梯法)。
以上就是一个3阶幻方(奇数)
罗伯法
把1(或最小的数)放在第一行正中
按以下规律分列剩下的n2-1个数(n表现阶数)
- 每一个数放在前一个数的右上一格;
- 如果这个数所要放的格已经超出了顶行那么就把它放在底行,仍旧要放在右一列;
- 如果这个数所要放的格已经超出了最右列那么就把它放在最左列,仍旧要放在上一行;
- 如果这个数(比方6)所要放的格已经超出了顶行且超出了最右列那么就把它放在它的下一行同一列的格内;
- 如果这个数所要放的格已经有数填入,处理处罚方法同(4);
下面是3阶幻方代码。
[code]package lx;public class luobofa1 { public static void main(String[] args) { int [][] a =new int[3][3];//界说一个3x3的数组 int x,y,n=3;//n用来表现几阶 x=0; y=(n-1)/2; int sum1=1; a[x][y]=1; for(int i=0;i |