幻方是一个奇数阶矩阵,每个元素值不同,且每一行之和,还是每一列之和,还是左对角线之和,还是 右对角线之和,都是同一个数。编写一个程序验证输入的3阶矩阵是否为幻方。以下为两组验证数据:
4 9 2 47 113 17
3 5 7 29 59 89
8 1 6 101 5 71
这个问题应该怎么思考呢?
4 9 2 47 113 17
3 5 7 29 59 89
8 1 6 101 5 71
这个问题应该怎么思考呢?
public class Magic
{
/**
* Method main
*
*
* @param args
*
*/
public static void main(String[] args)
{
// TODO: Add your code here
final int SIZE=3;
int mat[][]=new int [SIZE][SIZE];
int i=0,j,k,n;
n=SIZE;
j=n/2;
for(k=1;k<=n*n;k++)
{
mat[i][j]=k;
if(k%n==0)
{
i=(i+1)%n;
}
else
{
i=(i-1+n)%n;
j=(j+1)%n;
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
System.out.print(mat[i][j]+"\t");
System.out.println();
}
}
}
wind198299的程序好象有点深哦