Перестановка У вас есть массив чисел длиною "N". Нужно найти умноженную вариацию массива. Умноженный вариант массива это такой массив, где nums[i] это произведение всех чисел кроме nums[i]. Например, для массива [1,2,3,4] ответ будет равен [24,12,8,6].
Входные данные:
(1 ≤ n ≤ 10000), где каждый элемент в массиве в промежутке (-10000 ≤ a[i] ≤ 10000)
Выходные данные:
Нужно найти умноженную вариацию массива.
Пример 1
Ввод:
10
16 18 11 1 3 19 20 9 1 15
Вывод:
30472200 27086400 44323200 487555200 162518400 25660800 24377760 54172800 487555200 32503680
Пример 2
Ввод:
9
18 12 19 17 5 15 20 13 12
Вывод:
906984000 1360476000 859248000 960336000 3265142400 1088380800 816285600 1255824000 1360476000
Пример 3
Ввод:
4
3 8 21 6
Вывод:
1008 378 144 504
(см. объяснение)
Объяснение:
program task;
var i: integer;
const N=5;
procedure writeOut(i: integer);
begin
if(i<N) then write(', ')
else writeln('.');
end;
begin
if(N<1) then begin writeln('N>0 и целое!'); exit; end;
writeln('ЦИКЛ FOR:');
for i:= 1 to N
do begin
write(i); writeOut(i);
end;
writeln;
writeln('ЦИКЛ WHILE:');
i:= 1;
while(i<N+1)
do begin
write(i); writeOut(i);
i:= i+1;
end;
writeln;
writeln('ЦИКЛ REPEAT:');
i:= 1;
repeat
write(i); writeOut(i);
i:= i+1;
until i=N+1;
end.
вот удачи))