1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

16 17 18 19 20

21 22 23 24 25

2. We are trying to identify the final Matrix from the above. Form two matrices, one for identifying the row and another to identify the column.

4 5 1 2 3 3 2 1 5 4You will see the middle column of the first Matrix starts with 1 and are in sequence. Columns on either side can be filled by subtracting and adding 1. The second Matrix is a mirror image.

5 1 2 3 4 4 3 2 1 5

1 2 3 4 5 5 4 3 2 1

2 3 4 5 1 1 5 4 3 2

3 4 5 1 2 2 1 5 4 3

3. Form the final Matrix by writing the number from initial Matrix in the corresponding row and column. For e.g 4, 3 (Step 2) = 18 (Step 1)

18 22 1 10 14The above steps are applicable for any order of the Magic Square!

24 3 7 11 20

5 9 13 17 21

6 15 19 23 2

12 16 25 4 8

A Java program to do this:

/*

* Magic Square

*/

int order = 5;

for (int row = 0; row < order; row++) {

for (int col = 0; col < order; col++) {

int rowMatrix = (((order + 1) / 2 + row + col) % order);

int colMatrix = (((order + 1) / 2 + row + order - col - 1) % order) + 1;

System.out.print(((rowMatrix * order) + colMatrix) + "\t")

}

System.out.println();

}

## No comments:

## Post a Comment