Vai al contenuto
🛠️ToolsShed

Generatore di quadrati magici

Genera quadrati magici di qualsiasi dimensione dispari (3×3 a 11×11).

Informazioni sullo strumento

Un quadrato magico è un classico della matematica ricreativa: una griglia quadrata riempita con numeri distinti disposti in modo che ogni riga, colonna e diagonale dia la stessa somma, nota come costante magica. Questo generatore costruisce all'istante un quadrato magico valido per qualsiasi ordine dispari, risparmiandoti i tentativi ed errori di una costruzione a mano.

Basta scegliere una dimensione dispari da 3x3 fino a 11x11 e generare il quadrato; ogni riga, colonna e diagonale principale darà esattamente la stessa somma. È utile per insegnare i pattern numerici, ideare rompicapi, esplorare la matematica ricreativa o mettere alla prova un esercizio di programmazione.

Un suggerimento: i quadrati magici di ordine dispari si costruiscono con il metodo siamese, e la costante magica cresce in modo costante all'aumentare della dimensione. Tutto viene eseguito localmente nel tuo browser, così nessun dato lascia il tuo dispositivo.

Domande Frequenti

Implementazione del Codice

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.