Соревнование
Выведите массив или строковое представление знаменитого магического квадрата Дюрера :
то есть,
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
Некоторые свойства этого квадрата, которые могут быть использованы, являются:
- Он содержит каждое целое число от ровно
1
до16
- Сумма каждого столбца или строки, а также сумма каждой из двух диагоналей одинакова. Это определяющее свойство магического квадрата . Сумма является магической константой квадрата.
- Кроме того, для этого конкретного квадрата сумма каждого из четырех квадрантов также равна магической константе, равно как и сумма центральных четырех квадратов и сумма угловых четырех квадратов.
правила
Бултины, которые генерируют магические квадраты, не допускаются (такие как Matlab magic
или Mathematica MagicSquare
). Любой другой встроенный может быть использован.
Код может быть программой или функцией.
Там нет ввода.
Числа должны быть в базе 10. Выходной формат, как обычно, гибкий. Некоторые возможности:
Вложенный массив (либо вывод функции, либо ее строковое представление, с разделителями или без них, любые типы соответствующих скобок):
[[16, 3, 2, 13], [5, 10, 11, 8], [9, 6, 7, 12], [4, 15, 14, 1]]
2D массив:
{16, 3, 2, 13; 5, 10, 11, 8; 9, 6, 7, 12; 4, 15, 14, 1}
Массив из четырех строк или строка из четырех строк. Числа могут быть выровнены по правому краю
16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1
или по левому краю
16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1
Строка с двумя разными разделителями для строки и столбца, например
16,3,2,13|5,10,11,8|9,6,7,12|4,15,14,1
Выходной формат должен четко различать строки и столбцы. Например, нельзя вывести плоский массив или строку со всеми числами, разделенными пробелами.
Код гольф. Кратчайшие победы.
[15]
, а затем многократно конкатенировать его с обратным порядком с каждым элементом XOR, равным 13, 3, 8 и 15 соответственно.