Ваша задача - написать программу, в которой указан массив и число, вам нужно разбить массив на куски, размер которых равен числу.
правила
Ваша программа получит массив A
, а также положительное целое число n
. Затем массив должен быть разбит на куски длины n
, если длина строки не делится n
ни на один остаток в конце, следует считать его собственным куском.
Если
n
он больше длины массиваA
, вам нужно будет вернуть массивA
, например: еслиn = 4
иarray A = [1,2,3]
, вы должны вернуть[1,2,3]
Массив может содержать любой тип, а не число.
Вы не должны менять порядок (или направление) какого-либо предмета слева направо. Например
if n = 2
иA= [1,2,3]
. Любой результат, а не[[1,2],[3]]
будет недействительным.
Тестовые случаи
n A Output
2 [1,2,3,4,5,6] [[1,2],[3,4],[5,6]]
3 [1,2,3,4,5,6] [[1,2,3],[4,5,6]]
4 [1,2,3,4,5,6] [[1,2,3,4],[5,6]]
Это код-гольф , поэтому победителем будут самые короткие байты каждого языка.
источник
n
больше, чем длина, которуюA
мы должныA
вернуть‽ Вы уверены, что не имеете в виду[A]
?n
должен вернуться[A]
, например[[1,2,3]]
. Что, еслиn
это точно длинаA
?A
а[A]
это исключило бы огромное количество языков.Ответы:
05AB1E , 1 байт
Попробуйте онлайн или проверьте все контрольные примеры .
Встроенные ftw. :)
источник
JavaScript (ES6), 36 байт
Принимает вход как
(n)(array)
.Попробуйте онлайн!
комментарии
источник
APL (Dyalog Unicode) , 12 байтов SBCS
Большое спасибо Адаму за то, что он в основном занимался игрой в гольф (и за все знания APL, которые у меня есть на данный момент> _>).
объяснение
выполнение
Аргументы
2
,1 2 3 4 5 6 7
. Обратите внимание, что массивы APL имеют формуa b c
с необязательными круглыми скобками.Попробуйте онлайн!
источник
Python 3 , 61 байт
Попробуйте онлайн!
Модифицирует существующее решение Python 3 от Henry T для получения корректного вывода при n> = len (A).
Публикация в качестве собственного ответа из-за отсутствия прав комментирования.
источник
Пролог (SWI) ,
908461 байтКод:
Формат ввода может быть немного странным, но это:
Например, для ввода:
Вам нужно будет использовать
[1, 2, 3, 4, 5, 6] * 2 * Result.
.Попробуйте онлайн!
Безголовая версия:
Попробуйте онлайн! ,
источник
PHP, 15 байт
требует PHP 7. Позвоните с
$f(ARRAY, N)
.источник
Perl 6 , 13 байт
Попробуйте онлайн!
Curried функция обтекания
batch
встроенного.источник
;
после кода Whither?;
при передаче аргументов с помощью$^a
или@_
.Чисто , 54 байта
Попробуйте онлайн!
источник
Python 2 , 39 байт
Попробуйте онлайн!
Предполагается, что 1 порция на строку является приемлемым выводом.
источник
Brainfuck, 71 байт
Не знаю, считается ли это или нет ... входной формат:
Принимает ввод и вставляет пробел каждый раз, когда
n
символы проходятПояснение (без запятых, потому что это сломало бы программу):
источник
,
больше) используется больше, ее можно поместить в ячейку, доступ к которой проще, чем если бы она была размещена). в других клетках) или используйте брутфорсер. Я не опытный игрок в гольф в BF, поэтому эти предложения могут быть бесполезны.n n n A space
настройка моей камеры, если вы можете придумать лучший способ ...A space n n n ...
работать (илиspace A n n n...
)?Python 3, 46 символов
-1 благодаря @ Коллин Филлипс.
Попробуйте онлайн!
источник
CJam , 3 байта
Это анонимный блок, который берет массив чисел и число из стека и заменяет их массивом массивов.
Попробуйте онлайн!
источник
Брахилог , 2 байта
Попробуйте онлайн!
источник
Эликсир , 16 байт
Попробуйте онлайн!
источник
Древесный уголь , 1 байт
Попробуйте онлайн! Стандартный ввод / вывод Charcoal затрудняет демонстрацию с использованием чего-либо, кроме строк. Если вам нужна полная программа, которая принимает числовые списки и выводит отформатированные списки, то это можно сделать следующим образом:
Попробуйте онлайн! Ссылка на подробную версию кода. Объяснение:
источник
C # (интерактивный компилятор Visual C #) ,
787743 байтаПопробуйте онлайн!
Я думаю, что мы должны просто написать,
int i;
потому что 0 по умолчанию для int. Я позволил ему избежать ошибок:error CS0165: Use of unassigned local variable 'i'
.источник
F # (.NET Core) , 15 байт
Попробуйте онлайн!
Ну, F # имеет встроенный ...
источник
J , 4 байта
Попробуйте онлайн!
Принимает массив как левый аргумент и размер чанка как правый аргумент.
Использует диадический хук и наречие инфикса с отрицательным аргументом, который делает то, что мы хотим по определению.
Примечание. Тип возвращаемого значения должен быть в штучной упаковке, поскольку J допускает только таблицы элементов одинакового размера.
источник
Japt , 2 байта
Попробуйте онлайн!
источник
PHP , 45 байт
Попробуйте онлайн!
источник
array_chunk
ли правильный ответ?Java 10,
10680 байтПечатает куски без разделителя.
Попробуйте онлайн.
106 байт:
На самом деле возвращает список списков.
Попробуйте онлайн.
Объяснение:
источник
K (ок) , 10 байт
Попробуйте онлайн!
источник
Рубин , 25 байт
Попробуйте онлайн!
Если мы можем вернуть перечислители вместо массивов, тогда это станет просто:
Рубин , 21 байт
Попробуйте онлайн!
источник
PicoLisp ,
7574 байтаПопробуйте онлайн!
источник
Кокос , 8 байт
Попробуйте онлайн!
источник
V , 6 байтов
Попробуйте онлайн!
HexDump:
Объяснение:
источник
Clojure, 14 байтов
встроенные я думаю
источник
Haskell , 26 байтов
Вот более интересная версия, всего несколько байтов (спасибо nimi за пять байтов в каждом решении):
Haskell , 31 байт
Попробуйте онлайн!
источник
n!x=take n x:n!drop n x
,Data.Lists
обеспечивает такжеchunksOf
.PowerShell ,
6765 байт-2 байта спасибо AdmBorkBork
Попробуйте онлайн!
источник
rv b
(псевдоним дляRemove-Variable
) вместо того,$b=@()
чтобы сохранить два байта.Желе , 1 байт
Попробуйте онлайн!
Хотя принтер создает видимость, что одноэлементные разбиения не заключены в списки, на самом деле они есть.
источник