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í.