Дано (любыми средствами):
- Функция черного ящика с двумя аргументами (или один аргумент, состоящий из двухэлементного списка) , (вход и выход 1, 2, 3,…)
f: ℤ+ × ℤ+ → ℤ+
- Строго положительная целочисленная матрица с минимум двумя строками и двумя столбцами
вернуть трассировку функции матрицы .
Что такое функция трассировки ?
Трасса нормальной матрицы - это сумма большой диагонали (сверху-слева-внизу-справа) матрицы:
[[1,2,3],[4,5,6],[7,8,9]]
→ [1,5,9]
→ 1+5+9
→15
Но вместо суммирования мы хотим применить f
по диагонали:
[[1,2,3],[4,5,6],[7,8,9]]
→ [1,5,9]
→ f(f(1,5),9)
илиf(1,f(5,9))
Пожалуйста, укажите, используете ли вы слева направо или справа налево.
Данная матрица и все промежуточные значения будут строго положительными целыми числами в целочисленной области вашего языка. Матрица может быть не квадратной.
Примеры
f(x,y) = xy
, [[1,2,3],[4,5,6],[7,8,9]]
→ 1×5×9
→45
f(x,y) = xy
, [[1,2,3],[4,5,6],[7,8,9]]
→ →159
1
f(x,y) = x-y
, [[4,5,6],[1,2,3]]
→ 4-2
→2
f(x,y) = (x+y)⁄2
, [[2,3,4],[5,6,7],[8,9,10]]
→ 5
или7
f(x,y) = x+2y
, [[1,2,3],[4,5,6],[7,8,9]]
→ 47
или29
f(x,y) = max(x,y)
, [[1,2,3],[4,5,6],[7,8,9]]
→ max(1,5,9)
→9
f(x,y) = 2x
, [[1,2,3],[4,5,6],[7,8,9]]
→ 2
или4
f(x,y) = lcm(x,y)
, [[2,2,2],[2,2,3],[2,3,3],[4,4,4]]
→ lcm(2,2,3)
→6
[2,2,3]
[[2,2,2],[2,2,3],[2,3,3],[4,4,4]]
?