Comprobar el cuadrado mágico

Published by Mubashir Hassan in

Un "cuadrado mágico" es un cuadrado dividido en cuadrados más pequeños, cada uno de los cuales contiene un número, de modo que los números de cada columna, fila y diagonal suman el mismo valor.

Cuadrado mágico de 3x3

Escribe una función que reciba un arreglo 2D, compruebe si es un cuadrado mágico y devuelva true o false según el resultado.

Ejemplos

isMagicSquare([
  [8, 1, 6],
  [3, 5, 7],
  [4, 9, 2]
]) ➞ true

isMagicSquare([
  [16,  3,  2, 13],
  [ 5, 10, 11,  8],
  [ 9,  6,  7, 12],
  [ 4, 15, 14,  1]
]) ➞ true

isMagicSquare([
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
]) ➞ false

Notas

  • Comprueba también las diagonales.
  • La entrada de prueba siempre será cuadrada.
  • Consulta la pestaña Resources para obtener información adicional sobre los cuadrados mágicos.