Tym razem mam dla ciebie proste wyzwanie. Biorąc pod uwagę tablicę dodatnich liczb całkowitych A (lub odpowiednika w Twoim języku), zamień każdy wpis A i na sumę kolejnych elementów A i A , cofając się od początku, jeśli nie ma wystarczającej liczby pozycji.
Jak zwykle, możesz konkurować w dowolnym języku programowania i możesz przyjmować dane wejściowe i dostarczać dane wyjściowe za pomocą dowolnej standardowej metody i w dowolnym rozsądnym formacie, zwracając uwagę, że te luki są domyślnie zabronione. Opcjonalnie możesz również przyjąć wielkość A jako dane wejściowe. To jest golf golfowy , więc wygrywa najkrótsze przesłanie (w bajtach) dla każdego języka .
Przykłady / przypadki testowe
Biorąc pod uwagę [1,3,4,5]
, twój kod powinien wypisać [3,10,13,14]
, ponieważ 1
jest zastąpiony przez 3
, 3
jest zastąpiony przez 4+5+1=10
(zauważ, jak jest zawijany od początku), 4
przez 5+1+3+4=13
i 5
przez 1+3+4+5+1=14
.
Biorąc pod uwagę [3,2,1,9]
, Twój program powinien produkować [12,10,9,33]
, bo zastąpił 3
z 2+1+9=12
, 2
z 1+9=10
, 1
z 9
oraz 9
z 3+2+1+9+3+2+1+9+3=33
(Zauważ jak owinięty powrotem od początku więcej niż raz).
Kilka innych przypadków testowych do wyboru:
[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]