Verificar o quadrado mágico

Published by Mubashir Hassan in

Um "quadrado mágico" é um quadrado dividido em quadrados menores, cada um contendo um número, de modo que os números de cada coluna, linha e diagonal somem o mesmo valor.

Quadrado mágico de 3x3

Escreva uma função que receba um array 2D, verifique se ele é um quadrado mágico e retorne true ou false dependendo do resultado.

Exemplos

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

  • Verifique também as diagonais.
  • A entrada de teste será sempre quadrada.
  • Consulte a aba Resources para obter informações adicionais sobre quadrados mágicos.