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.