Analytics Avançado

Publicação sobre projetos, ideias e fundações de Advanced Analytics: Excel. Matemática. Simulação. Computação quântica.

Follow publication

Como criar um quadrado mágico de qualquer tamanho

Quadrados mágicos são números arranjados numa grade, de tal forma que a soma das linhas, colunas e diagonais seja igual.

A questão de como criar diversos tipos de quadrados mágicos vem intrigado os matemáticos há séculos.

Veremos neste tutorial, como criar um quadrado mágico de qualquer tamanho. Implementação em VBA e em Python disponível no Github.

Há três casos diferentes:

- quadrados mágicos ímpares,

- do tipo 4*n

- do tipo 4*n+2

Para cada caso, há um algoritmo diferente.

Caso 1: Quadrados mágicos ímpares

São os que têm número de lado ímpar (3, 5, 7, etc).

Começar colocando o 1 na célula superior do meio. Andar uma casa para a esquerda e uma para cima, para colocar o próximo número. Como o tabuleiro acaba, é como se ele desse a volta e colocasse o número no canto inferior.

Ir repetindo o passo acima, do número 2 para o 3.

Quando a casa em questão já estiver ocupada, como no caso abaixo,

… colocar o próximo número imediatamente abaixo da casa de referência.

Isso é suficiente para gerar qualquer quadrado mágico ímpar.

Ex. quadrado mágico 3×3:

Obs. Devido à simetria, tanto faz ir para a direita ou para a esquerda, no primeiro passo acima.

Padrão de cores: mais claro -> número maior, mais escuro, número menor.

Ex. Quadrado mágico 15×15:

Caso 2: Quadrados de ordem 4*n

Ou seja, quadrados de lado 4, 8, 12, 16, etc.

Colocar os números de 1 a 16 sequencialmente na grade.

Apagar os números da diagonal principal e da diagonal secundária:

Agora, imagine o grid preenchido sequencialmente, mas na ordem inversa:

Neste grid inverso, apagar todos os números que NÃO são das diagonais principal e secundária.

Juntar ambos os quadrados semi-preenchidos, e voilá, temos um quadrado mágico!

Para ordem 8, 12, é similar. É só imaginar um quadrado 8×8 sendo dividido em 4 quadrados 4×4, e para cada quadrado 4×4, aplicar o padrão acima.

Caso 3: Ordem 4*n+2

São quadrados com casas 6, 10, 14, etc, em que os algoritmos acima não funcionam.

Este caso é mais complicado.

A regra utilizada aqui é a LUX, desenvolvida por John Conway (o mesmo do Jogo da Vida).

Dividir o quadrado em grupos de quadrados 2×2.

Exemplo, um quadrado 6×6 pode ser visto como um grupo de 3×3 quadrados 2×2.

Para o grupo de quadrados, dividir assim:

Até a metade de linhas L

1 linha de U

O restante de X

No exemplo de lado 6, não “cabe” a linha X, mas para casos maiores, sim.

Depois, inverter o L central com o U abaixo:

Note que o grupo de quadrados torna-se um quadrado de ordem ímpar (o primeiro algoritmo descrito).

L, U e X referem-se à padrões de preenchimento:

Portanto, o algoritmo é:

- A ordem de preenchimento é como no caso ímpar, para grupos de quadrados 2×2

- Dentro do quadrado 2×2, usar a regra LUX correspondente ao quadrado.

Exemplo: cubo 6×6

No exemplo acima, começo com 1 no meio na linha superior, que é padrão L:

O próximo número é 5, e o local dele é à direita e acima, conforme o algoritmo de lado ímpar. Esta casa corresponde ao padrão U.

O próximo número é o 9, à direita e acima. Agora, é o padrão L.

E assim sucessivamente.

Ex. Quadrado 10×10.

Utilizando os três algoritmos acima, é possível criar quadrados mágicos de qualquer tamanho, digamos 1000 x 1000.

Implementação em VBA e em Python disponível aqui no Github.

Links:

https://en.wikipedia.org/wiki/Siamese_method

https://ideiasesquecidas.com/laboratorio-de-matematica/

https://ideiasesquecidas.com/2016/03/09/quadrados-magicos-impares/

Originally published at https://ideiasesquecidas.com on May 8, 2020.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Analytics Avançado
Analytics Avançado

Published in Analytics Avançado

Publicação sobre projetos, ideias e fundações de Advanced Analytics: Excel. Matemática. Simulação. Computação quântica.

Arnaldo Gunzi
Arnaldo Gunzi

Written by Arnaldo Gunzi

Project Manager - Advanced Analytics, AI and Quantum Computing. Sensei of Analytics.

No responses yet

Write a response