Magic squares of doubly even order: Difference between revisions

Content added Content deleted
m (→‎{{header|FreeBASIC}}: removed redundant code)
Line 325: Line 325:


Magic constant: 260</pre>
Magic constant: 260</pre>

=={{header|PARI/GP}}==

A magic one-liner:
<lang parigp>magicsqare(n)={matrix(n,n,i,j,k=i+j*n-n;if(bitand(38505,2^((j-1)%4*4+(i-1)%4)),k,n*n+1-k))}</lang>

Output:<pre>magicsquare(8)

[ 1 56 48 25 33 24 16 57]

[63 10 18 39 31 42 50 7]

[62 11 19 38 30 43 51 6]

[ 4 53 45 28 36 21 13 60]

[ 5 52 44 29 37 20 12 61]

[59 14 22 35 27 46 54 3]

[58 15 23 34 26 47 55 2]

[ 8 49 41 32 40 17 9 64]</pre>

BTW: The number 38505 = 9669h seems to come from hell to do the magic...


=={{header|Perl 6}}==
=={{header|Perl 6}}==