Gerador de quadrado mágico
Gere quadrados mágicos de qualquer tamanho ímpar (3×3 a 11×11).
Sobre esta ferramenta
Um quadrado mágico é uma peça clássica da matemática recreativa: uma grade quadrada preenchida com números distintos dispostos de modo que cada linha, coluna e diagonal some o mesmo total, conhecido como a constante mágica. Este gerador constrói instantaneamente um quadrado mágico válido para qualquer ordem ímpar, poupando você da tentativa e erro de montá-lo à mão.
Basta escolher um tamanho ímpar de 3x3 até 11x11 e gerar o quadrado; cada linha, coluna e diagonal principal somará exatamente o mesmo total. É útil para ensinar padrões numéricos, criar quebra-cabeças, explorar a matemática recreativa ou testar um exercício de programação.
Como dica, os quadrados mágicos de ordem ímpar são construídos com o método siamês, e a constante mágica cresce de forma constante à medida que o tamanho aumenta. Tudo é executado localmente no seu navegador, então nenhum dado sai do seu dispositivo.
Perguntas Frequentes
Implementação de Código
def generate_odd_magic_square(n):
"""Siamese (De la Loubère) method for odd n."""
grid = [[0] * n for _ in range(n)]
row, col = 0, n // 2
for num in range(1, n * n + 1):
grid[row][col] = num
next_row = (row - 1) % n
next_col = (col + 1) % n
if grid[next_row][next_col] != 0:
row = (row + 1) % n
else:
row, col = next_row, next_col
return grid
def magic_constant(n):
return n * (n * n + 1) // 2
for n in [3, 5]:
sq = generate_odd_magic_square(n)
print(f"\n{n}x{n} Magic Square (constant={magic_constant(n)}):")
for row in sq:
print(" ".join(f"{v:3}" for v in row))Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.