Привет.
Я знаю решение этой задачи, но интересно узнать как и за какое время решите Вы.
Задача:
Неформальное описание:
Есть массив
![$In[N]$ $In[N]$](https://dxdy-01.korotkov.co.uk/f/c/1/3/c135db7b49634fa920b283b9cb49436e82.png)
содержащий

элементов (от

до

). Нужно составить функцию, которая получая на вход массив
![$In[N]$ $In[N]$](https://dxdy-01.korotkov.co.uk/f/c/1/3/c135db7b49634fa920b283b9cb49436e82.png)
на выходе даёт
![$Out[N]$ $Out[N]$](https://dxdy-01.korotkov.co.uk/f/4/3/e/43ebd3f2fc434161286af5b6551681e982.png)
, где каждый элемент массива
![$Out[N]$ $Out[N]$](https://dxdy-01.korotkov.co.uk/f/4/3/e/43ebd3f2fc434161286af5b6551681e982.png)
будет равен произведению всех элементов
![$In[N]$ $In[N]$](https://dxdy-01.korotkov.co.uk/f/c/1/3/c135db7b49634fa920b283b9cb49436e82.png)
кроме текущего элемента. Например,
![$Out[0]$ $Out[0]$](https://dxdy-02.korotkov.co.uk/f/d/b/7/db78d9a6ced50c8bdd06e5f5c9ce049182.png)
будет содержать произведение от
![$In[1]$ $In[1]$](https://dxdy-04.korotkov.co.uk/f/f/4/8/f481bbec7c7970bd2a1c06e4a418f24c82.png)
до
![$In[N-1]$ $In[N-1]$](https://dxdy-01.korotkov.co.uk/f/0/a/a/0aad7714f22e073293b3853860c0979e82.png)
, а
![$Out[1]$ $Out[1]$](https://dxdy-03.korotkov.co.uk/f/2/9/6/2965a13fae4f51f0c0223265ffe2cac282.png)
будет содержать произведение от элементов
![$In[0]$ $In[0]$](https://dxdy-04.korotkov.co.uk/f/3/9/b/39b11eed57d1c03847874bafb4745c8082.png)
и от
![$In[2]$ $In[2]$](https://dxdy-01.korotkov.co.uk/f/0/5/b/05b8a9b6900bbe02f567d506551cb7eb82.png)
до
![$In[N-1]$ $In[N-1]$](https://dxdy-01.korotkov.co.uk/f/0/a/a/0aad7714f22e073293b3853860c0979e82.png)
.
Формальное описание:


Нужен алгоритм функции

В решении
не должен использоваться оператор деления и время выполнения
должно быть 
.