Python 3 Перестановка
У вас есть массив чисел длиною "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
Const width = 10
Sub Ìàêðîñ1()
Dim Sum(heigth - 1, width - 1)
Dim Product(heigth - 1, width - 1)
For i = 0 To heigth - 1
For j = 0 To width - 1
Sum(i, j) = i + j
Product(i, j) = i * j
Next j
Next i
Call Show(Sum, 0, 0)
Call Show(Product, 0, 12)
End Sub
Sub Show(ByRef m, dx, dy)
For i = 0 To heigth - 1
For j = 0 To width - 1
ActiveSheet.Cells(dx + i + 1, dy + j + 1).Value = Hex(m(i, j))
Next j
Next i
End Sub
// PascalABC.NET 3.0, сборка 1111
var
a,b:BigInteger;
sa,sb:string;
begin
Write('Первое слагаемое: '); Readln(sa);
if BigInteger.TryParse(sa,a)=False then Writeln('Это не целое число!')
else begin
Write('Второе слагаемое: '); Readln(sb);
if BigInteger.TryParse(sb,b)=False then Writeln('Это не целое число!')
else Writeln('Точный результат: ',a+b)
end
end.
Тестовое решение:
Первое слагаемое: 5423323409523846095938445870434764308454095
Второе слагаемое: 7425543205430235436743455446541423534233
Точный результат: 5430748952729276331375189325881305731988328