Определим «мультипликативные дельты» значений в виде:
Обратная операция, а именно «мультипликативная унделта», возвращает значения, так что приведенная выше операция приводит к заданным значениям.
пример
Заданные значения Общее решение операции « мультипликативная унделта »:
Конкретное решение может быть получено путем установки к любому значению, отличному от нуля, например, путем установки мы бы получили:
Вызов
Ваша задача для этой задачи состоит в том, чтобы реализовать операцию « мультипликативная дельта », как определено выше.
правила
Входы:
- ненулевое значение
- непустой список / массив / вектор / ... ненулевых " мультипликативных дельт "
Выходными данными является список / массив / вектор / ... значений, так что первый элемент и для которых " мультипликативные дельты " являются входными данными.
Примечание. Если ваш язык не поддерживает отрицательные целые числа, вы можете заменить ненулевое на положительное .
Контрольные примеры
2 [21] -> [2,42]
1 [1,5,3,2] -> [1,1,5,15,30]
-1 [1,5,3,2] -> [-1,-1,-5,-15,-30]
7 [1,-5,3,2] -> [7,7,-35,-105,-210]
2 [-12,3,-17,1311] -> [2,-24,-72,1224,1604664]
-12 [7,-1,-12,4] -> [-12,-84,84,-1008,-4032]
1 [2,2,2,2,2,2,2,2] -> [1,2,4,8,16,32,64,128,256]