Diesmal habe ich eine einfache Herausforderung für dich. Ersetzen Sie bei einem gegebenen Array positiver Ganzzahlen A (oder dem Äquivalent in Ihrer Sprache) jeden Eintrag A i durch die Summe der nächsten A i -Elemente von A und fahren Sie von Anfang an zurück, wenn nicht genügend Elemente vorhanden sind.
Wie üblich können Sie in jeder Programmiersprache antreten und Eingaben und Ausgaben mit jeder Standardmethode und in jedem vernünftigen Format vornehmen. Beachten Sie jedoch, dass diese Lücken standardmäßig verboten sind. Optional können Sie auch die Größe von A als Eingabe verwenden. Dies ist Codegolf , daher gewinnt die kürzeste Übermittlung (in Bytes) für jede Sprache .
Beispiele / Testfälle
Gegeben [1,3,4,5]
, Code sollte eine Ausgabe [3,10,13,14]
, weil 1
durch ersetzt wird 3
, 3
wird ersetzt durch 4+5+1=10
( man beachte , wie es von Anfang an eingewickelt zurück), 4
durch 5+1+3+4=13
und 5
durch 1+3+4+5+1=14
.
Gegeben [3,2,1,9]
, Ihr Programm sollte produzieren [12,10,9,33]
, weil wir 3
mit 2+1+9=12
, 2
mit 1+9=10
, 1
mit 9
und 9
mit ersetzen 3+2+1+9+3+2+1+9+3=33
(beachten Sie, wie wir von Anfang an mehr als einmal zurückgebrochen haben).
Weitere Testfälle zur Auswahl:
[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]