Generador de cuadrados mágicos
Genera cuadrados mágicos de cualquier tamaño impar (3×3 a 11×11).
Acerca de esta herramienta
Un cuadrado mágico es una pieza clásica de la matemática recreativa: una cuadrícula cuadrada llena de números distintos dispuestos de modo que cada fila, columna y diagonal sume el mismo total, conocido como la constante mágica. Este generador construye al instante un cuadrado mágico válido para cualquier orden impar, ahorrándote el ensayo y error de armarlo a mano.
Solo elige un tamaño impar de 3x3 hasta 11x11 y genera el cuadrado; cada fila, columna y diagonal principal sumará exactamente el mismo total. Es útil para enseñar patrones numéricos, diseñar acertijos, explorar la matemática recreativa o probar un ejercicio de programación.
Como consejo, los cuadrados mágicos de orden impar se construyen con el método siamés, y la constante mágica crece de forma constante a medida que aumenta el tamaño. Todo se ejecuta localmente en tu navegador, así que ningún dato sale de tu dispositivo.
Preguntas Frecuentes
Implementación 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.