Dado (por qualquer meio):
- Um dois-argumento (ou argumento único constituído por uma lista de dois elementos) função caixa preta , (entrada e saída são 1, 2, 3, ...)
f: ℤ+ × ℤ+ → ℤ+
- Uma matriz inteira estritamente positiva com pelo menos duas linhas e duas colunas
retornar o rastreio de função da matriz .
O que é um rastreamento de função ?
Um rastreio de matriz normal é a soma da diagonal principal (canto superior esquerdo para canto inferior direito) de uma matriz:
[[1,2,3],[4,5,6],[7,8,9]]
→ [1,5,9]
→ 1+5+9
→15
Mas, em vez de somar, queremos aplicar f
ao longo da diagonal:
[[1,2,3],[4,5,6],[7,8,9]]
→ [1,5,9]
→ f(f(1,5),9)
ouf(1,f(5,9))
Indique se você usa da esquerda para a direita ou da direita para a esquerda.
A matriz fornecida e todos os valores intermediários serão números inteiros estritamente positivos no domínio inteiro do seu idioma. A matriz pode ser não quadrada.
Exemplos
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
ou7
f(x,y) = x+2y
, [[1,2,3],[4,5,6],[7,8,9]]
→ 47
ou29
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
ou4
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]]
?