Цель состоит в том, чтобы произвести вывод n квадратов (nxn) случайных целых чисел ( 0-9
) с движением, *
которое вращается по часовой стрелке вокруг углов, начиная с верхнего левого угла. Квадраты должны быть рядом и разделены одним пробелом.
Если n = 0
вывод должен быть пустым.
Выход для n=1
:
*
Выход для n=2
:
*3 4*
14 07
Выход для n=3
:
*34 82* 291
453 224 924
145 158 57*
Выход для n=4
:
*153 135* 0154 0235
2352 5604 3602 2065
2245 6895 3561 7105
7225 5785 479* *662
Обратите внимание на то, как *
вращается (вокруг углов квадрата) слева направо, например: верхний левый, верхний правый, нижний правый, нижний левый, верхний левый и т. Д. (По часовой стрелке)
Самый короткий ответ (измеряется в байтах) выигрывает.
*
s вn=4
примере? Возможно, приведите еще несколько примеров?*153
, второй с верхним рядом*135
и так далее.Ответы:
05AB1E ,
5049 байтовобъяснение
Примеры для ввода = 4.
Сначала мы создаем строку ввода ^ 3 случайных чисел от 0 до 9.
производства
Затем мы разбиваем это на части, каждый размер входных данных.
Это далее разделено на входные части.
Это дает нам матрицу чисел.
Затем мы перебираем строки матрицы, вставляя звездочки в нужные места.
Теперь у нас есть матрица с «*» в каждой строке, но нам нужна звездочка для каждого столбца.
Таким образом, мы заархивировали этот список, превращая строки в столбцы и наоборот.
Теперь осталось только отформатировать вывод.
Соединение строк в пробелах и столбцов в новых строках дает нам окончательный результат.
Попробуйте онлайн!
Старое 50-байтовое решение
источник
Дьялог АПЛ , 57 байт
Требуется
⎕IO←0
по умолчанию во многих системах.Предполагая, что двойной интервал разрешен, как в первом примере OP.
Попробуй APL онлайн!
Неконкурентное 49-байтовое решение (Dyalog APL 16.0):
источник
Java 7,
372370366 байтВозможно, можно сыграть в гольф еще, поставив звездочки и создавая результат одновременно, а не один за другим.
Ungolfed & тестовый код:
Попробуй это здесь.
Возможный вывод:
источник
PHP, 181 байт
источник