Méthodes de construction

Carré magique d’ordre 7 : visualiser la méthode du cavalier

Une visualisation interactive d’un carré magique d’ordre 7 construit case par case par une méthode de déplacement de cavalier, avec extension imaginaire autour de la grille.

Carré magique d’ordre 7 construit par la méthode du cavalier
Une construction animée où chaque nombre rejoint sa place dans le carré magique.

Un carré magique d’ordre 7 contient les nombres de 1 à 49. Sa somme magique vaut 175 : chaque ligne, chaque colonne et chacune des deux grandes diagonales doit atteindre cette même valeur.

La construction présentée ici suit une idée très visuelle : on avance d’une case à l’autre comme avec un saut de cavalier. À partir d’une valeur déjà placée, la valeur suivante tente d’aller une ligne plus bas et deux colonnes plus à droite.

Quand ce saut dépasse le bord du carré, on peut l’imaginer dans une grille plus grande, provisoire, qui entoure le carré réel. Cette grille n’existe pas dans le résultat final : elle sert seulement à comprendre le report. C’est pourquoi l’animation affiche une extension imaginaire en pointillé, puis l’efface dès que le nombre rejoint sa vraie case.

Visualisation interactive

Remplissage du carré par la méthode du cavalier

Le carré se construit de 1 à 49. À chaque étape, le déplacement naturel est un saut de cavalier : une ligne vers le bas et deux colonnes vers la droite. Quand le saut dépasse la grille, une case fantôme apparaît dans une extension imaginaire, puis la valeur rejoint sa vraie case dans le carré.

L’extension imaginaire n’appartient pas au carré final. Elle sert seulement à montrer le saut qui sortirait provisoirement de la grille avant le report dans la structure réelle.

Le carré obtenu

La grille finale utilisée dans cette visualisation est la suivante :

149413325179
1810243423426
3527191134436
4537292820124
1354638302221
2315146473931
403224168748

La constante magique se calcule par la formule classique des carrés magiques normaux :

M = n × (n² + 1) / 2

Pour n = 7, on obtient :

M = 7 × (49 + 1) / 2 = 175

Pourquoi montrer l’extension imaginaire ?

Sur le papier, les méthodes de construction des carrés magiques utilisent souvent des déplacements qui semblent sortir de la grille. On applique alors une règle de report : ce qui dépasse d’un côté revient ailleurs dans le carré.

Mais ce report est parfois difficile à percevoir si l’on ne voit que la grille finale. L’extension imaginaire permet de rendre visible le geste mental du constructeur : le nombre tente d’abord son saut naturel, puis il est ramené dans la structure réelle.

Dans cette page, les cases fantômes ont donc un rôle pédagogique : elles montrent le mouvement, sans faire partie du carré magique final.

Lecture pédagogique de la méthode

La règle principale peut se résumer ainsi :

  1. placer le premier nombre ;
  2. tenter un saut de cavalier vers la position suivante ;
  3. si le saut reste dans une case libre, placer le nombre ;
  4. si le saut sort du carré, visualiser l’extension imaginaire puis reporter la valeur ;
  5. si la case visée est déjà occupée, appliquer la correction prévue par la construction.

Cette façon de présenter la méthode transforme une règle abstraite en parcours visible. Le carré n’est plus seulement un tableau de nombres : il devient une trajectoire.

Vérification rapide en Python

Le script suivant vérifie les lignes, les colonnes et les deux diagonales principales.

square = [
    [1, 49, 41, 33, 25, 17, 9],
    [18, 10, 2, 43, 42, 34, 26],
    [35, 27, 19, 11, 3, 44, 36],
    [45, 37, 29, 28, 20, 12, 4],
    [13, 5, 46, 38, 30, 22, 21],
    [23, 15, 14, 6, 47, 39, 31],
    [40, 32, 24, 16, 8, 7, 48],
]

n = len(square)
magic_sum = n * (n * n + 1) // 2

rows = [sum(row) for row in square]
cols = [sum(square[row][col] for row in range(n)) for col in range(n)]
diag_1 = sum(square[i][i] for i in range(n))
diag_2 = sum(square[i][n - 1 - i] for i in range(n))

values = sorted(value for row in square for value in row)
expected_values = list(range(1, n * n + 1))

print("Somme magique attendue :", magic_sum)
print("Lignes :", rows)
print("Colonnes :", cols)
print("Diagonales :", diag_1, diag_2)
print("Entrées correctes :", values == expected_values)
print("Carré magique :", all(total == magic_sum for total in rows + cols + [diag_1, diag_2]))

La vérification confirme que le carré utilise bien les entiers de 1 à 49 et que toutes les lignes, colonnes et diagonales principales totalisent 175.

À retenir

Cette visualisation ne cherche pas seulement à donner un carré magique d’ordre 7. Elle cherche à montrer le mécanisme de construction : le mouvement, les dépassements, les reports et les corrections.

C’est précisément dans ces petits gestes invisibles que les méthodes classiques de construction deviennent intéressantes à étudier.