Дано n=m^2
, вернуть список целых чисел, которые не ограничивают m x m
сетку целых чисел 1 to n
.
Примеры
n = 1 (m = 1)
Сетка:
[1]
Возвращение:
[]
n = 4 (м = 2)
Сетка:
[1,2]
[3,4]
Возвращение:
[]
n = 9 (м = 3)
Сетка:
[1,2,3]
[4,5,6]
[7,8,9]
Возвращение:
[5]
n = 16 (м = 4)
Сетка:
[ 1, 2, 3, 4]
[ 5, 6, 7, 8]
[ 9,10,11,12]
[13,14,15,16]
Возвращение:
[6,7,10,11]
Для более высоких значений m
, этот ответ делает большую визуализацию.
Правила:
- Вы можете принять либо
m
илиn
(гдеn = m*m
).- Если брать в
n
вас могут не иметь неопределенное поведение , где существует неm
дляn
(EG 15). n > 0
,m > 0
: Оба должны быть целочисленными значениями.
- Если брать в
- Выход может быть в виде 1D / 2D-массива, матрицы или пробела, разделенных
- Вывод должен быть в порядке от наименьшего к наибольшему.
- Если выводить в виде матрицы, это означает, что он должен быть таким, каким он был бы в сетке.
- Это код-гольф , побеждает наименьшее количество байтов.
Ответы:
C, 50 байтов
Попробуйте онлайн!
источник
Октава , 31 байт
Возвращает матрицу.
Попробуйте онлайн!
источник
vec2mat
функцией раньше.Октава , 26 байт
Код определяет анонимную функцию, которая вводит
m
и выводит (возможно, пустой) вектор столбца.Попробуйте онлайн!
объяснение
источник
Желе , 8 байт
Монадическая ссылка, берущая
m
и возвращающая список списков (внутренние строки).Попробуйте онлайн!
Как?
источник
Чистый Баш, 49
Скучный ответ:
Попробуйте онлайн .
Или интересный ответ за 52:
Попробуйте онлайн .
источник
Haskell , 31 байт
Попробуйте онлайн!
Математическая версия:
:П
источник
f(5)
должно быть7,8,9,12,13,14,17,18,19
R ,
444332 байтаПопробуйте онлайн!
Возвращает вектор.
источник
print
функция дляmatrix
.m
вmatrix(1:m^2,m,m,T)
:matrix(1:m^2,m,,T)
Желе , 8 байт
Попробуйте онлайн!
источник
m
одного может сделать²s⁸ḊṖ$⁺€
тоже самое. (Я также опубликовал другойm
альтернативный метод.)⁸
:(Протон , 28 байт
Попробуйте онлайн!
принимает м качестве ввода.
Как?
Фильтрует целые числа в [k, k 2 -k), которые при делении на k дают остаток больше 1 . Это гарантирует, что оба конца обрезаны, потому что первый дает 0, а последний - 1 . Также гарантируется возвращение более высокого значения для любого допустимого целого числа, потому что они являются последовательными.
источник
Wolfram Language (Mathematica) , 31 байт
Попробуйте онлайн!
источник
Утилиты Bash + GNU, 35
Попробуйте онлайн .
источник
05AB1E , 9 байт
Попробуйте онлайн!
источник
LItä¦¨ε¦¨
в порядке, вывод может быть 2D-массив.Python 2 , 44 байта
Попробуйте онлайн!
Я обещаю, что это мой последний ответ (на этот вызов) сегодня. Принимает м в качестве ввода.
источник
Рубин , 32 байта
принимает
m
, возвращает одномерный массив.Попробуйте онлайн!
источник
MATL , 8 байт
Вход есть
m
. Вывод чисел в порядке возрастания.Попробуйте онлайн!
объяснение
Рассмотрим ввод
4
в качестве примера.источник
APL (Dyalog Classic) , 14 байтов
Попробуйте онлайн!
источник
Пакетная, 85 байт
Я не могу легко
2
выполнить цикл от до,m-1
поэтому я выполняю цикл от3
доm
и корректирую вычисления.источник
Юлия 0,6 , 36 байт
Попробуйте онлайн!
источник
Пари / ГП , 26 байт
Попробуйте онлайн!
источник
Japt, 12 байт
Я потратил так много времени на игру в гольф на добычу элементов, что у меня не хватило времени, чтобы заняться созданием массива. Я также только сейчас замечаю, что
n
вместо этого мы можем использовать в качестве входных данных, чтобы я мог что-то там сохранить. Чтобы вернуться ...Попытайся
объяснение
источник
J ,
2319 байт-4 байта благодаря FrownyFrog!
Попробуйте онлайн!
Мое оригинальное решение:
J , 23 байта
Принимает в качестве ввода, возвращает матрицу
Как это устроено
1+i.
- генерирует список 1..n-@%:
- находит квадратный корень из n и отрицает его (м)]\
- делает таблицу (матрицу) mxm из списка^:2
- сделайте следующее дважды:|:@}:@}.
- отбросить первый ряд, затем отбросить последний ряд, затем транспонировать[:
- крышка вилкаПопробуйте онлайн!
источник
1}:@}.-@%:}.@}:\1+i.
1 1}:@}.-@%:}:\1+i.
}.
Шелуха , 9 байт
Попробуйте онлайн!
объяснение
источник
Japt , 14 байт
Принимает в
m
качестве вводаобъяснение
Попробуйте онлайн!
Решение, которое занимает
n
также 14 байтов:Попробуйте онлайн!
источник
TI-BASIC,
4443 байта (токенизированный)Читаемая версия:
К сожалению, было необходимо печатать пустые списки вручную, поскольку TI-BASIC обычно не позволяет этого. Если бы
m
было задано больше двух, код мог бы быть уменьшен до 29 байтов .источник
Pyth , 10 байт
Попробуй это здесь!
Принимает м в качестве ввода.
источник
Красный ,
6362 байтаПопробуйте онлайн!
Это красный порт для решения на Haskell / Mr. Xcoder Python 2, созданного полностью человеком
источник
Чисто , 45 байт
Попробуйте онлайн!
Это просто ответ Хаскелла на человека, но в Чистом.
источник
Пыть , 13 байт
Порт Джонатана Аллана желе ответ
Объяснение:
Попробуйте онлайн!
источник
Python, 111 байт
источник
Java 8 ,
241183170162160132122 байтаПопробуйте онлайн!
Java делает это очень сложным (много байтов), когда вам нужно создать массив несколько «неизвестного» размера.
источник
Groovy
в основном стенография Java.int
, изменяя||
к|
, и удаление скобок из одной строки , если тела.