Comprobar el cuadrado mágico

Published by Matt 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 una lista 2D, compruebe si es un cuadrado mágico y devuelva True o False según el resultado.

Ejemplos

is_magic_square([
  [8, 1, 6],
  [3, 5, 7],
  [4, 9, 2]
]) ➞ True

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

is_magic_square([
  [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.