Su tarea es escribir un programa que, dado un conjunto y un número, necesita dividir el conjunto en trozos con el tamaño es número.
Reglas
Su programa recibirá una matriz A, así como un número entero positivo n. La matriz se debe dividir en trozos de longitud n, si la longitud de la cadena no es divisible por nlas sobras al final debe considerarse su propio fragmento.
Si
nes mayor que la longitud de la matrizA, deberá devolver la matrizA, por ejemplo: sin = 4yarray A = [1,2,3], debe devolver[1,2,3]La matriz puede contener cualquier tipo en lugar de número.
No debe cambiar el orden (o dirección) de ningún artículo de izquierda a derecha. Por ejemplo
if n = 2yA= [1,2,3]. Cualquier resultado en lugar de[[1,2],[3]]será inválido.
Casos de prueba
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]]
Este es el código de golf , por lo que los bytes más cortos de cada idioma serán los ganadores.
fuente

nes mayor que la longitud de laAque necesitamos regresar‽A¿Estás seguro de que no quieres decir[A]?ndebería volver un demasiado grande[A], por ejemplo[[1,2,3]]. ¿Qué pasa sines exactamente la longitud deA?Alugar de[A], lo que excluiría una gran cantidad de idiomas.Respuestas:
05AB1E , 1 byte
Pruébelo en línea o verifique todos los casos de prueba .
Builtins ftw. :)
fuente
JavaScript (ES6), 36 bytes
Toma entrada como
(n)(array).Pruébalo en línea!
Comentado
fuente
APL (Dyalog Unicode) , SBCS de 12 bytes
Muchas gracias a Adám por hacer básicamente todo el golf (y básicamente por todos los conocimientos de APL que tengo actualmente> _>).
Explicación
Ejecución
Argumentos
2,1 2 3 4 5 6 7. Tenga en cuenta que las matrices APL son de la formaa b c, con paréntesis opcionales circundantes.Pruébalo en línea!
fuente
Python 3 , 61 bytes
Pruébalo en línea!
Modifica la solución Python 3 existente de Henry T para producir una salida válida para n> = len (A).
Publicar como su propia respuesta debido a la falta de privilegios para comentar.
fuente
Prólogo (SWI) ,
908461 bytesCódigo:
El formato de entrada puede ser un poco extraño, pero es:
Por ejemplo, para la entrada:
Tendría que usar
[1, 2, 3, 4, 5, 6] * 2 * Result..Pruébalo en línea!
Versión sin golf:
Pruébalo en línea! .
fuente
PHP, 15 bytes
requiere PHP 7. Llamar con
$f(ARRAY, N).fuente
Perl 6 , 13 bytes
Pruébalo en línea!
Función curry que envuelve el
batchincorporado.fuente
;código después de Cualquiera?;al pasar argumentos con$^ao@_.Limpio , 54 bytes
Pruébalo en línea!
fuente
Python 2 , 39 bytes
Pruébalo en línea!
Asume que 1 fragmento por línea es una salida aceptable.
fuente
Brainfuck, 71 bytes
No sé si esto cuenta o no ... formato de entrada:
Toma la entrada y pone un espacio cada vez
nque pasan los personajesExplicación (sin comas porque eso rompería el programa):
fuente
,más) se usa más, se podría colocar una celda que sea más fácil de acceder que si se colocara en otras células) o use un bruteforcer. No soy experto en golf en BF, por lo que estas sugerencias pueden no ser útiles.n n n A spacecomo configuración de mi celda, si se te ocurre una mejor manera ...A space n n n ...funcionar (ospace A n n n...)?Python 3, 46 caracteres
-1 gracias a @Collin Phillips.
Pruébalo en línea!
fuente
CJam , 3 bytes
Este es un bloque anónimo que toma una matriz de números y un número de la pila, y los reemplaza por una matriz de matrices.
Pruébalo en línea!
fuente
Brachylog , 2 bytes
Pruébalo en línea!
fuente
Elixir , 16 bytes
Pruébalo en línea!
fuente
Carbón , 1 byte
Pruébalo en línea! La E / S predeterminada de Charcoal dificulta la demostración utilizando cualquier cosa excepto cadenas. Si desea un programa completo que tome listas numéricas y genere listas formateadas, puede hacerlo de la siguiente manera:
Pruébalo en línea! El enlace es a la versión detallada del código. Explicación:
fuente
C # (compilador interactivo de Visual C #) ,
787743 bytesPruébalo en línea!
Creo que deberíamos poder escribir simplemente
int i;porque 0 es el valor predeterminado de int. Lo dejo para evitar el error:error CS0165: Use of unassigned local variable 'i'.fuente
F # (.NET Core) , 15 bytes
Pruébalo en línea!
Bueno F # tiene un incorporado ...
fuente
J , 4 bytes
Pruébalo en línea!
Toma la matriz como argumento izquierdo y el tamaño del fragmento como argumento derecho.
Utiliza un gancho diádico y el adverbio infijo con un argumento negativo, que hace lo que queremos por definición.
Nota: El tipo de retorno debe estar encuadrado porque J solo permite tablas de elementos de igual tamaño.
fuente
Japt , 2 bytes
Pruébalo en línea!
fuente
PHP , 45 bytes
Pruébalo en línea!
fuente
array_chunkSería una respuesta válida?Java 10,
10680 bytesImprime los trozos sin delimitador.
Pruébalo en línea.
106 bytes:
En realidad, devuelve una lista de listas.
Pruébalo en línea.
Explicación:
fuente
K (oK) , 10 bytes
Pruébalo en línea!
fuente
Rubí , 25 bytes
Pruébalo en línea!
Si podemos devolver enumeradores en lugar de matrices, entonces se convierte simplemente en:
Ruby , 21 bytes
Pruébalo en línea!
fuente
PicoLisp ,
7574 bytesPruébalo en línea!
fuente
Coco , 8 bytes
Pruébalo en línea!
fuente
V , 6 bytes
Pruébalo en línea!
Hexdump:
Explicación:
fuente
Clojure, 14 bytes
construcciones supongo
fuente
Haskell , 26 bytes
Aquí hay una versión más interesante, con solo unos pocos bytes más (gracias a nimi por cinco bytes en cada solución):
Haskell , 31 bytes
Pruébalo en línea!
fuente
n!x=take n x:n!drop n x.Data.Listsproporciona tambiénchunksOf.PowerShell ,
6765 bytes-2 bytes gracias AdmBorkBork
Pruébalo en línea!
fuente
rv b(alias paraRemove-Variable) en lugar de$b=@()guardar dos bytes.Gelatina , 1 byte
Pruébalo en línea!
Si bien la impresora hace que parezca que las divisiones de un solo elemento no están incluidas en listas, en realidad lo están.
fuente