小时候都做过的小题目:一个n*n的方阵,用1-n*n这几个数填到方阵中,使得每行、每列以及两条对角线上的值加起来相等。
当n是奇数时,存在对称性,把中间的一个值填到方阵的中央,然后对位加起来都是n*n+1就行了
当n是偶数时,不存在对称性,不知道怎么算了……
package test;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int i, j, k, m, n = 1, p;
p = 1;
while (p == 1) {
System.out.println("/n/n The program of print a 19*19 bewitching phalanx/n/n");
System.out.println("Enter n (n is a odd number):> ");
Scanner scanner = new Scanner(System.in);
n = scanner.nextInt();
if ((n != 0) && (n % 2 == 1))
p = 0;
}
int a[][] = new int[n][n];
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
a[i][j] = 0;
j = n / 2;
a[0][j] = 1;