Not Yet Answered # magic square

Discussion Starter kring08 Hey, so I wanna ask how I need to create a method who will remove word if in that word is 2 same chars. Example: "Potato" in this word there is a 2 "o" chars so this word will need to be removed. "Forum" in this word there is no ...

0

Generates a magic square of order N. A magic squares is an N-by-N

* matrix of the integers 1 to N^2, such that all row, column, and

* diagonal sums are equal.

*

* One way to generate a magic square when N is odd is to assign

* the integers 1 to N^2 in ascending order, starting at the

* bottom, middle cell. Repeatedly assign the next integer to the

* cell adjacent diagonally to the right and down. If this cell

* has already been assigned another integer, instead use the

* cell adjacently above. Use wrap-around to handle border cases.

*must be an odd

```
public class MagicSquare {
public static void main(String[] args) {
int N = Integer.parseInt(args[0]);
if (N % 2 == 0) throw new RuntimeException("N must be odd");
int[][] magic = new int[N][N];
int row = N-1;
int col = N/2;
magic[row][col] = 1;
for (int i = 2; i <= N*N; i++) {
if (magic[(row + 1) % N][(col + 1) % N] == 0) {
row = (row + 1) % N;
col = (col + 1) % N;
}
else {
row = (row - 1 + N) % N;
// don't change col
}
magic[row][col] = i;
}
// print results
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (magic[i][j] < 10) System.out.print(" "); // for alignment
if (magic[i][j] < 100) System.out.print(" "); // for alignment
System.out.print(magic[i][j] + " ");
}
System.out.println();
}
}
}
```

*Edited 3 Years Ago by Nick Evan*: Fixed formatting

This article has been dead for over six months. Start a new discussion instead.

Recommended Articles

Hi. I have a form with list box : lst_product, datagridview : grd_order and button: btn_addline. lst_product has a list of product ids selected from database (MS Acess 2013) , grd_order is by default empty except for 2 headers and btn_addline adds rows to grd_order.

btn_addline :

`Private Sub btn_addline_Click(ByVal ...`

I don’t want at this stage work on a big separate project as I've already got plenty ...