Questa volta ho una sfida semplice per te. Data una matrice di numeri interi positivi A (o l'equivalente nella tua lingua), sostituisci ogni voce A i con la somma dei successivi elementi A i di A , tornando indietro dall'inizio se non ci sono abbastanza elementi.
Come al solito, puoi competere con qualsiasi linguaggio di programmazione e prendere input e fornire output attraverso qualsiasi metodo standard e in qualsiasi formato ragionevole, tenendo presente che queste scappatoie sono vietate per impostazione predefinita. Puoi anche prendere la dimensione di A come input. Questo è code-golf , quindi vince l'invio più breve (in byte) per ogni lingua .
Esempi / casi di test
Dato [1,3,4,5]
, l'output del tuo codice [3,10,13,14]
, perché 1
è sostituito da 3
, 3
è sostituito da 4+5+1=10
(nota come è tornato dall'inizio), 4
da 5+1+3+4=13
e 5
da 1+3+4+5+1=14
.
Dato [3,2,1,9]
, il tuo programma dovrebbe produrre [12,10,9,33]
, perché sostituiamo 3
con 2+1+9=12
, 2
con 1+9=10
, 1
con 9
e 9
con 3+2+1+9+3+2+1+9+3=33
(nota come siamo tornati dall'inizio più di una volta).
Alcuni altri casi di test tra cui scegliere:
[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]