У меня есть простой вызов для вас на этот раз. Учитывая массив положительных целых чисел A (или эквивалент на вашем языке), замените каждую запись A i суммой следующих элементов A i в A , возвращаясь назад с начала, если не хватает элементов.
Как обычно, вы можете соревноваться на любом языке программирования и можете принимать и выводить данные любым стандартным методом и в любом приемлемом формате, при этом отмечая, что эти лазейки по умолчанию запрещены. Вы можете дополнительно взять размер А в качестве входных данных тоже. Это код-гольф , поэтому выигрывает самое короткое представление (в байтах) для каждого языка .
Примеры / Тестовые случаи
Учитывая [1,3,4,5]
, что ваш код должен вывести [3,10,13,14]
, так как 1
заменяются 3
, 3
заменяются 4+5+1=10
(заметьте , как он завернутым назад с самого начала), с 4
помощью 5+1+3+4=13
и с 5
помощью 1+3+4+5+1=14
.
Учитывая [3,2,1,9]
, ваша программа должна производить [12,10,9,33]
, потому что мы заменяем 3
с 2+1+9=12
, 2
с 1+9=10
, 1
с 9
и 9
с 3+2+1+9+3+2+1+9+3=33
(обратите внимание, как мы завернули с самого начала более чем один раз).
Еще несколько тестов для вас на выбор:
[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]