Tengo un desafío simple para ti esta vez. Dada una serie de enteros positivos A (o el equivalente en su idioma), reemplace cada entrada A i con la suma de los siguientes elementos A i de A , retrocediendo desde el principio si no hay suficientes elementos.
Como de costumbre, puede competir en cualquier lenguaje de programación y puede tomar entradas y proporcionar salidas a través de cualquier método estándar y en cualquier formato razonable, mientras toma nota de que estas lagunas están prohibidas por defecto. Opcionalmente, también puede tomar el tamaño de A como entrada. Este es el código de golf , por lo que gana el envío más corto (en bytes) para cada idioma .
Ejemplos / Casos de prueba
Dado [1,3,4,5]
, su código debería salir [3,10,13,14]
, porque 1
se reemplaza por 3
, 3
se reemplaza por 4+5+1=10
(observe cómo se recuperó desde el principio), 4
por 5+1+3+4=13
y 5
por 1+3+4+5+1=14
.
Dado [3,2,1,9]
, su programa debe producir [12,10,9,33]
, porque lo sustituimos 3
con 2+1+9=12
, 2
con 1+9=10
, 1
con 9
y 9
con 3+2+1+9+3+2+1+9+3=33
(observe cómo nos hemos recuperado desde el principio más de una vez).
Algunos casos de prueba más para elegir:
[4,3,2,1] -> [10,7,5,4]
[3,2,1,9] -> [12,10,9,33]
[1,3,4,5] -> [3,10,13,14]
[4,4,3,2,2] -> [11,11,8,6,8]
[3,5,3,2,1] -> [10,14,6,4,3]
[3,2,4,3,2,1,1] -> [9,7,7,4,2,1,3]
[7,8,6,5,4,3,2,1,5] -> [29,33,20,15,11,8,6,5,30]
[28,2,4,2,3,2,3,4,5,3] -> [137,6,10,5,9,7,12,38,39,34]
[1,2,3,4,5,4,3,2,1,2,3,4,3,2,1] -> [2,7,13,14,12,8,5,3,2,7,9,7,4,2,1]