Comprobar un cuadrado mágico
Crea una función que reciba un arreglo 2D y devuelva true si es un cuadrado mágico y false si no lo es. Un cuadrado mágico es una disposición de números en un cuadrado de modo que la suma de cada fila, columna y diagonal sea un número constante, la «constante mágica».
Ejemplos
isMagic([[2, 7, 6], [9, 5, 1], [4, 3, 8]]) ➞ true
// Rows: 2+7+6 = 9+5+1 = 4+3+8 = 15
// Columns: 2+9+4 = 7+5+3 = 6+1+8 = 15
// Diagonals: 2+5+8 = 6+5+4 = 15isMagic([[1, 2], [3, 4]]) ➞ false
// Rows: 1+2 = 3 != 3+4 = 7
// Columns: 1+3 = 4 != 2+4 = 6
// Diagonals: 1+4 = 2+3 = 5Notas
Para este desafío, solo probaré cuadrados mágicos formados por números enteros del 1 al n^2, donde n es la longitud de un lado del cuadrado.