Saltar al contenido
🛠️ToolsShed

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.