Ir al contenido principal

Actualización de «Matriz zigzagueante»

He actualizado las soluciones del ejercicio «Matriz zigzagueante» cuyo enunciado es


La matriz zizagueante de orden n es la matriz cuadrada con n filas y n columnas y cuyos elementos son los n² primeros números naturales colocados de manera creciente a lo largo de las diagonales secundarias. Por ejemplo, La matriz zigzagueante de orden 5 es

 0  1  5  6 14
 2  4  7 13 15
 3  8 12 16 21
 9 11 17 20 22
10 18 19 23 24

La colocación de los elementos se puede ver gráficamente en Matriz zigzagueante

Definir la función

zigZag :: Int -> Matrix Int

tal que (zigZag n) es la matriz zigzagueante de orden n. Por ejemplo,

λ> zigZag 5
┌                ┐
│  0  1  5  6 14 │
│  2  4  7 13 15 │
│  3  8 12 16 21 │
│  9 11 17 20 22 │
│ 10 18 19 23 24 │
└                ┘
λ> zigZag 4
┌             ┐
│  0  1  5  6 │
│  2  4  7 12 │
│  3  8 11 13 │
│  9 10 14 15 │
└             ┘
λ> maximum (zigZag 1500)
2249999

Nota: Puedes consultar las soluciones aquí.