Su desafío hoy es tomar una matriz, dividirla en trozos y agregar esos trozos.
Así es como funciona: su programa o función recibirá una variedad de enteros ay un tamaño de fragmento L. La matriz debe dividirse en matrices de tamaño L, si la longitud de la matriz no es divisible para Lentonces, la matriz debe tener 0 añadidos para que sea divisible de manera uniforme. Una vez que la matriz está fragmentada, todas las fragmentaciones deben agregarse juntas por elementos. La matriz resultante se emite a continuación.
Puede suponer que Les mayor que 0, y eso ano es vacío. No se puede suponer que alos contenidos son positivos.
Aquí hay un ejemplo:
[1,2,3,4,5,6,7,8], 3 => [1,2,3]+[4,5,6]+[7,8,0] => [1+4+7,2+5+8,3+6+0] => [12,15,9]
Casos de prueba:
Array Length Output
[1] 1 [1]
[1] 3 [1,0,0]
[0] 3 [0,0,0]
[1,2] 3 [1,2,0]
[1,2] 1 [3]
[-1,1] 2 [-1,1]
[-7,4,-12,1,5,-3,12,0,14,-2] 4 [12,-1,0,1]
[1,2,3,4,5,6,7,8,9] 3 [12,15,18]
Este es el código de golf , ¡la menor cantidad de bytes gana!

Respuestas:
MATL , 4 bytes
Pruébalo en línea!
¡El primer bit de código MATL que he escrito! Toma dos entradas,
acomo un vector de fila (separadas por comas) ylcomo un número. Funciona para serfuente
Python 3 ,
676542 bytesUtiliza el hecho de que la suma de una matriz vacía es 0
Pruébalo en línea!
fuente
Jalea ,
76 bytes1 byte gracias a Dennis.
Pruébalo en línea!
fuente
Ż¡sS(equivalente a0;$¡sS).Java 7, 86 bytes
Sin pliegues ni matrices elegantes, solo un buen
forbucle antiguo :)Pruébalo en Ideone
Forrado:
fuente
Python 2 , 49 bytes
Pruébalo en línea!
fuente
JavaScript (ES6), 51 bytes
Toma de entrada en la sintaxis currificación:
f([1,2])(3).Casos de prueba
Mostrar fragmento de código
fuente
(a,n,o=[])=>a.map((v,i)=>o[i%n]=~~o[i%n]+v)&&oa=>n=>a.map((v,i)=>o[i%=n]=~~o[i]+v,o=[])&&opero no agrega el relleno de cero requerido.f=debería ser parte de tu recuento de personajes.f=no es necesario. Aquí hay una publicación en meta sobre esto.Mathematica, 27 bytes
Mathematica casi tiene un generador para estoPruébalo en Wolfram Sandbox
Uso
Explicación
fuente
Mathematica, 58 bytes
Entrada
Salida
fuente
Perl 6 , 36 bytes
Pruébalo
Expandido:
fuente
APL (Dyalog) , 22 bytes
Toma
lcomo argumento izquierdo yaun argumento derecho.Pruébalo en línea!
{...}función anónima, donde⍺es el argumento de la izquierda (l) y⍵el argumento de la derecha (a).≢⍵cuenta (longitud) dea⍺÷⍨dividido porl⌈techo (redondeado)⍺,⍨adjuntarls←almacenar ens(para s hape)×/producto de eso (es decir, cuántos enteros se necesitan)⍵↑⍨tomar tantos enteros dea(relleno con ceros)s⍴r forma para dar formas(filas, columnas)+⌿sumas en columnasfuente
Haskell ,
5949 bytesPruébalo en línea!
fuente
Perl 6 , 40 bytes
Pruébalo en línea!
Si te gusta el número 42, se puede intercambiar la
*de una∞. Eso lo hará 42 bytes :—).Explicacion :
La magia detrás de la última "suma" es que el operador es un "reducir con zip con +". Por cierto, esto se rompería si lo usáramos solo en una lista con 1 lista dentro, pero eso nunca sucede si la lista original no está vacía (debido a la penúltima fila). También tenga en cuenta que terminamos tomando no solo
@a, sino también@a * $lartículos. Afortunadamente, agregamos solo ceros que no afectarán el resultado final.fuente
Casco , 9 bytes
Pruébalo en línea!
Explicación
fuente
Pyth , 8 bytes
Pruébalo aquí!
Pyth , 10 bytes
Pruébalo aquí!
Explicación
Explicación # 1
Explicación # 2
sMCc. [EZQQ Programa completo. . [E Rellene la segunda entrada a la derecha, con copias repetidas de ... Z ... Cero (0), hasta el múltiplo más cercano de ... Q ... La primera entrada. c Q Cortar en trozos de longitud igual a la primera entrada. C Matriz de transposición. Obtenga todas las columnas de la lista anidada. sM Suma cada uno. Salida (implícitamente).fuente
sM.TcEQ[1], 3, lo que daría en[1]lugar de[1, 0, 0].J ,
1512 bytesPruébalo en línea!
Explicación
fuente
[:+/-@[[\]:?05AB1E , 8 bytes
Pruébalo en línea!
fuente
05AB1E , 8 bytes
Pruébalo en línea!
fuente
¹vs²)SOGL V0.12 , 14 bytes
Pruébalo aquí! o Pruebe todos los casos de prueba. esto se escribe como una función sin nombre y se espera
chunk length; arrayen la pila.Explicación:
fuente
FPara qué sirve el código Pruébalo aquí que vinculaste?f=a=>a+2laf=parte no se cuenta, en SOGLF\nno se cuenta.05AB1E , 12 bytes
Pruébalo en línea!
Explicación
fuente
Mathematica, 43 bytes
fuente
Clojure , 42 bytes
Pruébalo en línea!
fuente
R ,
6257 bytes-5 bytes gracias al usuario2390246
Pruébalo en línea!
Actualizado ya que ya no tiene que manejar el caso vacío
rellena
acon ceros, construye una matriz delfilas y calcula y devuelve las sumas de filas.fuente
Apilado , 24 bytes
Pruébalo en línea!
Explicación
fuente
Java (OpenJDK 8) , 64 bytes
Pruébalo en línea!
fuente
Japt , 7 bytes
¡Hombre, luché con el método Japt incorrecto durante demasiado tiempo tratando de que funcione para el
[1], 3caso de prueba en una cantidad razonable de bytes!Intentalo
Explicación
Entrada implícita de matriz
Uy enteroV.Generar una matriz de enteros de
0aV-1y pasar cada uno a través de una función conXser el elemento actual.Agarra cada
Velemento deU, comenzando en el índiceX.Reduzca esa matriz por adición.
fuente
C, (GCC)
10186 BytesPruébalo en línea!
Uso
Tenga en cuenta que debe pasar la longitud de la (s) matriz (s) y una nueva matriz dinámica en el montón (m).
fuente
PowerShell , 62 bytes
Pruébalo en línea!
Tomamos input
$array y$length. Luego pase de1a$l. Cada iteración establecemos que helper$ysea uno menos que el número actual (esto se debe a que PowerShell 0-indexa pero la$lprofundidad está en 1-indexing). Luego establecemos nuestro$orendimiento0y hacemos un bucle nuevamente$l. Cada iteración interna simplemente la estamos acumulando en$oel$aelemento de matriz adecuadamente indexado . Esto aprovecha el hecho de que la indexación más allá del final de la matriz devuelve$nully0 + $null = 0.Una vez que se realiza el bucle interno, salimos
$oy pasamos al siguiente fragmento. Las diversas salidas se dejan en la tubería y la salida a través implícitoWrite-Outputocurre al finalizar el programa.fuente
Perl 5 , 44 + 1 (-a) = 45 bytes
Pruébalo en línea!
Editar: se corrigió el caso donde la longitud solicitada era menor que la matriz de entrada
fuente
Casco , 10 bytes
Pruébalo en línea!
Ungolfed / Explicación
fuente
Scala 2.12.2 , 80 bytes
Es un poco más corto que la solución Java.
fuente