Magic squares of doubly even order: Difference between revisions

m
→‎{{header|Java}}: less obscure
mNo edit summary
m (→‎{{header|Java}}: less obscure)
Line 55:
int bits = 0b1001011001101001;
int size = n * n;
int mult = n / 4; // how many multiples of 4
 
int[][] result = new int[n][n];
 
for (int r = 0, i = 0; ir < sizen; ir++) {
for (int c = 0; c < n; c++, i++) {
 
int bitsPos = (i % n)c / mult + (ir / (n * mult) * 4);
int value = (bits & (1 << bitsPos)) != 0 ? i + 1 : size - i;
result[i / n][i % nresult[r][c] = value;
}
 
int bitsPos = (i % n) / mult + (i / (n * mult) * 4);
int value = (bits & (1 << bitsPos)) != 0 ? i + 1 : size - i;
result[i / n][i % n] = value;
}
return result;
}
Anonymous user