#/*********************************************************** # magicsq.rb -- 魔方陣 #***********************************************************/ # 奇数次の魔方陣 N = 19 row = []; N.times { row.push(0) } a = []; N.times { a.push(row.dup) } k = 0 i = - (N / 2) ; while (i <= N / 2) for j in 0...N a[(j - i + N) % N][(j + i + N) % N] = (k += 1) end i += 1 end for i in 0...N for j in 0...N; printf("%4d", a[i][j]); end printf("\n") end exit 0