Générateur de carré magique
Construisez un carré magique d'ordre impair dont chaque ligne, colonne et grande diagonale a la même somme : le carré 3×3 donne 15 et le 5×5 donne 65. Choisissez une taille impaire de 3 à 99 et obtenez la grille entière. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Ordre
- 3
- Constante magique
- 15
- Cellules
- 9
Un carré magique d'ordre impair n est une grille n par n qui contient chaque entier de 1 à n au carré une seule fois, de sorte que chaque ligne, chaque colonne et les deux diagonales principales additionnent la même constante magique : n fois (n au carré plus un) divisé par deux. Ce générateur construit cette grille avec la méthode siamoise, aussi appelée méthode de de la Loubère. Il place le 1 au milieu de la première ligne, puis avance d'une case vers le haut et d'une case vers la droite, en enroulant aux bords et en descendant d'une case lorsque la suivante est déjà remplie. La seule entrée obligatoire est l'ordre impair, qui doit être un entier supérieur ou égal à 3.
Comment la méthode siamoise remplit un carré d'ordre impair
La méthode siamoise, consignée par Simon de la Loubère après un séjour au Siam au XVIIe siècle, est la preuve constructive standard qu'un carré magique existe pour tout ordre impair. Partez d'un plateau n par n vide et écrivez l'entier 1 dans la case centrale de la première ligne. Depuis toute case qui contient déjà k, la candidate pour k plus un se trouve une ligne au-dessus et une colonne à droite.
Si ce pas quitte le plateau, enroulez : quitter la première ligne réentre par le bas de la même colonne, et quitter la dernière colonne réentre par la première de la même ligne. Si la case enroulée est déjà occupée — ce qui arrive après chaque tour complet de n pas — ne prenez pas le pas diagonal ; écrivez plutôt l'entier suivant dans la case immédiatement sous la case courante et continuez de là.
Parce que n est impair, cette règle de collision ne combat jamais l'enroulement, et le parcours visite chaque case exactement une fois avant que n au carré soit placé. La grille terminée est magique : chaque ligne, chaque colonne et les deux longues diagonales somment à la constante magique n fois (n au carré plus un) sur deux.
Pour l'ordre 3 cette constante vaut 15 et le carré normal unique (à rotation et réflexion près) est huit, un, six sur la première ligne, trois, cinq, sept sur la deuxième, et quatre, neuf, deux sur la troisième. Pour l'ordre 5 la constante vaut 65 et la première ligne est dix-sept, vingt-quatre, un, huit, quinze. Ce point d'accès émet toujours cette orientation siamoise canonique ; il ne choisit pas une association aléatoire ni une construction d'ordre pair de Dürer.
Le parcours n'est qu'une poignée d'incréments modulaires, si bien que le même ordre produit toujours le même tableau bidimensionnel, ce dont ont besoin les corrigés, les oracles de concours et les tests de référence.
Contrat d'entrée, forme de la réponse et ce qui est rejeté
Le domaine est l'ensemble des entiers impairs de 3 à 99 inclus. L'ordre 1 est impair mais n'est pas le carré magique de classe au sens habituel de 1 jusqu'à n au carré que les gens recherchent, aussi est-il rejeté avec le même message qu'un ordre pair : order doit être un entier impair supérieur ou égal à 3.
Les valeurs paires telles que 4 ou 8 échouent pour la même raison — le pas siamois haut-droite n'est pas une construction complète pour n pair, et cette capacité ne bascule pas en silence vers un algorithme de Strachey ou LUX. Les valeurs au-dessus de 99 échouent parce que la limite déclarée est 99. Les clés de sortie facultatives sont omises plutôt qu'envoyées comme null.
Une validation échouée n'est pas facturée. Associez la grille à votre propre moteur de rendu si vous avez besoin de couleur ou d'animation ; ce point d'accès renvoie des nombres, pas une image.
Où un générateur de carré magique d'ordre impair trouve son utilité
Les salles de classe et les plateformes de tutorat utilisent un générateur de carré magique pour que les élèves vérifient un 3×3 ou un 5×5 qu'ils viennent de construire à la main, sans inverser une erreur d'enroulement dans les dernières cases. Les sites de casse-tête et les usines de fiches d'exercices ont besoin d'un oracle déterministe qui émet toujours la même grille siamoise pour un n donné, afin que les corrigés restent stables d'une réimpression et d'une langue à l'autre. Une entrée invalide ne consomme pas de solde.
Si vous avez besoin de carrés d'ordre pair, de rotations de la grille siamoise ou d'un vérificateur d'un plateau déjà rempli, c'est une autre intention de recherche et une autre capacité ; celle-ci existe pour construire le carré siamois d'ordre impair que l'on cherche sous générateur de carré magique.
Cas d’usage
Corrigés de classe et fiches d'exercices
Générez le carré siamois canonique 3×3 ou 5×5 afin que les élèves vérifient chaque ligne, colonne et diagonale par rapport à la constante magique imprimée.
Plateaux de jeu équilibrés
Placez jetons ou scores issus d'un carré magique pour que chaque ligne, colonne et longue diagonale d'un plateau impair porte le même total.
Questions fréquentes
Pourquoi l'ordre doit-il être un entier impair supérieur ou égal à 3 ?
Le parcours siamois haut-droite n'est une construction complète que pour n impair.
À quoi ressemble le carré siamois 3×3 ?
La grille canonique est [[8,1,6],[3,5,7],[4,9,2]]. Chaque ligne, chaque colonne et les deux diagonales principales somment à la constante magique 15.
Le générateur choisit-il une rotation au hasard à chaque fois ?
Non. Le parcours est fixe : le 1 commence toujours au milieu de la première ligne et avance en haut à droite. Le même ordre renvoie toujours le même tableau bidimensionnel.
Comment calcule-t-on la constante magique d'un carré ?
On multiplie n par n au carré plus un, puis on divise par deux. Pour un carré 3×3 on obtient 15, et pour un 5×5, 65 : chaque ligne, chaque colonne et les deux grandes diagonales ont cette somme.
Comment la méthode siamoise place-t-elle les nombres ?
Elle écrit 1 au milieu de la ligne du haut, puis, pour chaque nombre suivant, monte d'une case et se décale d'une case à droite, en repassant par le bord opposé. Si cette case est déjà prise, elle descend d'une case.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/math/magic-square \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"order":3}'const res = await fetch("https://api.kit.forhosting.com/math/magic-square", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"order": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/magic-square",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"order": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/magic-square", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"order":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"order":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/magic-square", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"order": 3
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.magic_square",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_order | 99 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Les ordres pairs, l'ordre trivial 1, les fractions et les valeurs au-dessus du maximum publié sont rejetés avec invalid_input.
Contrat d'entrée, forme de la réponse et ce qui est rejeté
Envoyez par POST un corps JSON avec un seul champ obligatoire, order, l'entier impair n du carré. Les alias n et size sont acceptés afin que formulaires et chaînes de requête réutilisent un même contrat. La valeur peut arriver comme entier JSON ou comme chaîne décimale entière ; les chaînes vides, les champs manquants, les fractions, la notation scientifique et les types non numériques échouent avec invalid_input en nommant order. En cas de succès, le corps répète order, renvoie square comme un tableau de n lignes de n entiers positifs, indique magic_constant comme n fois (n au carré plus un) sur deux, indique cells comme n au carré, et fixe method à la chaîne siamese afin que l'appelant consigne quelle construction il a reçue. Gardez les requêtes sous le maximum publié afin que la réponse reste un petit document JSON plutôt qu'un énorme dump de matrice.
Où un générateur de carré magique d'ordre impair trouve son utilité
Les concepteurs de jeux ensemencent parfois un plateau à partir d'un carré magique pour que chaque ligne soit équilibrée ; appeler une petite API parse évite d'embarquer une implémentation isolée qui dérivera ensuite du parcours du manuel.
Cas d'intégration
Fixtures de casse-tête et de katas
Alimentez exercices de programmation et tests de propriétés avec une grille n×n déterministe dont les sommes de lignes valent n(n²+1)/2, sans tables codées en dur.
Questions techniques
Comment générer un carré magique d'ordre impair ?
Envoyez un entier impair order n ≥ 3 (alias n et size). L'API renvoie une grille n×n remplie par la méthode siamoise, plus la constante magique n(n²+1)/2.
Combien coûte le générateur de carré magique ?
L'outil du navigateur est gratuit. Les requêtes API utilisent un solde prépayé à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.