Magisches Quadrat
Erstellen Sie ein magisches Quadrat ungerader Ordnung, in dem jede Zeile, Spalte und Hauptdiagonale dieselbe Summe hat: Beim 3×3-Quadrat ist es 15, beim 5×5-Quadrat 65. Wählen Sie eine ungerade Größe von 3 bis 99 und erhalten Sie das ganze Raster. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Ordnung
- 3
- Magische Konstante
- 15
- Zellen
- 9
Ein magisches Quadrat ungerader Ordnung n ist ein n-mal-n-Gitter, das jede ganze Zahl von 1 bis n zum Quadrat genau einmal enthält, sodass jede Zeile, jede Spalte und beide Hauptdiagonalen dieselbe magische Konstante ergeben: n mal (n zum Quadrat plus eins) geteilt durch zwei. Dieser Generator baut jenes Gitter mit der Siamesischen Methode, auch Methode von de la Loubère genannt. Er setzt die 1 in die Mitte der obersten Zeile und schreitet dann eine Zelle nach oben und eine nach rechts, wickelt an den Rändern und setzt eine Zelle tiefer, wenn die nächste bereits belegt ist. Die einzige Pflichtangabe ist die ungerade Ordnung, die eine ganze Zahl größer oder gleich 3 sein muss.
Wie die Siamesische Methode ein Quadrat ungerader Ordnung füllt
Die Siamesische Methode, von Simon de la Loubère nach einem Aufenthalt in Siam im siebzehnten Jahrhundert aufgezeichnet, ist der übliche konstruktive Beweis, dass für jede ungerade Ordnung ein magisches Quadrat existiert. Beginnen Sie mit einem leeren n-mal-n-Brett und schreiben Sie die ganze Zahl 1 in die mittlere Zelle der ersten Zeile. Von jeder Zelle, die bereits k hält, liegt der Kandidat für k plus eins eine Zeile höher und eine Spalte nach rechts.
Verlässt dieser Schritt das Brett, wickeln Sie: das Verlassen der obersten Zeile tritt unten in derselben Spalte wieder ein, und das Verlassen der letzten Spalte tritt in der ersten Spalte derselben Zeile wieder ein. Ist die gewickelte Zelle bereits belegt — das geschieht nach jedem vollständigen Umlauf von n Schritten — nehmen Sie den Diagonalschritt gar nicht; schreiben Sie die nächste ganze Zahl stattdessen in die Zelle unmittelbar unter der aktuellen und fahren Sie von dort fort.
Weil n ungerade ist, kämpft diese Kollisionsregel niemals gegen die Wicklung, und der Gang besucht jede Zelle genau einmal, bevor n zum Quadrat gesetzt wird. Das fertige Gitter ist magisch: jede Zeile, jede Spalte und beide langen Diagonalen summieren sich zur magischen Konstanten n mal (n zum Quadrat plus eins) durch zwei.
Für die Ordnung 3 ist diese Konstante 15, und das (bis auf Drehung und Spiegelung) eindeutige normale Quadrat lautet acht, eins, sechs in der ersten Zeile, drei, fünf, sieben in der zweiten und vier, neun, zwei in der dritten. Für die Ordnung 5 ist die Konstante 65, und die erste Zeile lautet siebzehn, vierundzwanzig, eins, acht, fünfzehn. Dieser Endpunkt gibt stets jene kanonische siamesische Ausrichtung aus; er wählt keine zufällige Zuordnung und keine gerade Dürer-Konstruktion.
Eingabevertrag, Antwortform und was zurückgewiesen wird
Die Aliase n und size werden akzeptiert, damit Formulare und Abfragezeichenketten einen Vertrag wiederverwenden können. Der Bereich sind die ungeraden ganzen Zahlen von 3 bis einschließlich 99. Die Ordnung 1 ist ungerade, ist aber kein Schul-Magisches-Quadrat im üblichen Sinn von 1 bis n zum Quadrat, den Menschen suchen; sie wird daher mit derselben Meldung wie eine gerade Ordnung zurückgewiesen: order muss eine ungerade ganze Zahl größer oder gleich 3 sein.
Gerade Werte wie 4 oder 8 scheitern aus demselben Grund — der siamesische Schritt nach oben rechts ist keine vollständige Konstruktion für gerades n, und diese Fähigkeit wechselt nicht still zu einem Algorithmus von Strachey oder LUX. Werte über 99 scheitern, weil die erklärte Grenze 99 ist. Optionale Ausgabeschlüssel werden weggelassen statt als null gesendet.
Fehlgeschlagene Prüfung wird nicht berechnet. Kombinieren Sie das Gitter mit Ihrem eigenen Renderer, wenn Sie Farbe oder Animation brauchen; dieser Endpunkt liefert Zahlen, kein Bild.
Wo ein Generator magischer Quadrate ungerader Ordnung seinen Nutzen hat
Unterrichtsräume und Tutorienplattformen nutzen einen Generator magischer Quadrate, damit Lernende ein soeben von Hand gebautes 3×3 oder 5×5 prüfen können, ohne in den letzten Zellen einen Wicklungsfehler umzudrehen. Rätselseiten und Arbeitsblattfabriken brauchen ein deterministisches Orakel, das für ein gegebenes n stets dasselbe siamesische Gitter ausgibt, sodass Lösungsschlüssel über Nachdrucke und Sprachen hinweg stabil bleiben. Ungültige Eingabe wird nicht berechnet.
Wenn Sie gerade Ordnungen, Drehungen des siamesischen Gitters oder einen Prüfer für ein beliebig gefülltes Brett brauchen, ist das eine andere Suchabsicht und eine andere Fähigkeit; diese hier existiert, um das siamesische Quadrat ungerader Ordnung zu bauen, das man unter Generator für magische Quadrate sucht.
Anwendungsfälle
Unterrichtsschlüssel und Arbeitsblätter
Erzeugen Sie das kanonische 3×3- oder 5×5-Siamesenquadrat, damit Lernende jede Zeile, Spalte und Diagonale gegen die gedruckte magische Konstante prüfen können.
Ausgeglichene Spielbretter
Setzen Sie Marken oder Punkte aus einem magischen Quadrat, sodass jede Zeile, Spalte und lange Diagonale eines ungeraden Bretts dieselbe Summe trägt.
Häufige Fragen
Warum muss die Ordnung eine ungerade ganze Zahl größer oder gleich 3 sein?
Der siamesische Gang nach oben rechts ist nur für ungerades n eine vollständige Konstruktion.
Wie sieht das siamesische 3×3-Quadrat aus?
Das kanonische Gitter ist [[8,1,6],[3,5,7],[4,9,2]]. Jede Zeile, jede Spalte und beide Hauptdiagonalen summieren sich zur magischen Konstanten 15.
Wählt der Generator bei jedem Aufruf eine zufällige Drehung?
Nein. Der Gang ist fest: die 1 beginnt stets in der Mitte der obersten Zeile und schreitet nach oben rechts. Dieselbe Ordnung liefert stets dasselbe zweidimensionale Feld.
Wie berechnet man die magische Konstante eines Quadrats?
Multiplizieren Sie n mit n zum Quadrat plus eins und teilen Sie durch zwei. Für ein 3×3-Quadrat ergibt das 15, für ein 5×5-Quadrat 65: Jede Zeile, jede Spalte und beide Hauptdiagonalen haben diese Summe.
Wie verteilt die siamesische Methode die Zahlen?
Sie schreibt die 1 in die Mitte der obersten Zeile und geht für jede weitere Zahl ein Feld nach oben und eins nach rechts, wobei sie am Rand auf die Gegenseite springt. Ist dieses Feld schon belegt, rückt sie stattdessen ein Feld nach unten.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem 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)Beispiel-Anfrage
{
"order": 3
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.magic_square",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_order | 99 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Gerade Ordnungen, die triviale Ordnung 1, Brüche und Werte über dem veröffentlichten Maximum werden mit invalid_input zurückgewiesen.
Eingabevertrag, Antwortform und was zurückgewiesen wird
Senden Sie per POST einen JSON-Körper mit einem einzigen Pflichtfeld, order, der ungeraden ganzen Zahl n des Quadrats. Der Wert darf als JSON-Ganzzahl oder als ganze Dezimalzeichenkette ankommen; leere Zeichenketten, fehlende Felder, Brüche, wissenschaftliche Notation und nichtnumerische Typen scheitern mit invalid_input und nennen order. Bei Erfolg wiederholt der Körper order, liefert square als Feld von n Zeilen mit je n positiven ganzen Zahlen, meldet magic_constant als n mal (n zum Quadrat plus eins) durch zwei, meldet cells als n zum Quadrat und setzt method auf die Zeichenkette siamese, damit Aufrufer festhalten können, welche Konstruktion sie erhalten haben. Halten Sie Anfragen unter dem veröffentlichten Maximum, damit die Antwort ein kleines JSON-Dokument bleibt und kein riesiger Matrixauszug.
Wo ein Generator magischer Quadrate ungerader Ordnung seinen Nutzen hat
Spieldesigner säen manchmal ein Brett aus einem magischen Quadrat, damit jede Linie ausgeglichen ist; der Aufruf einer kleinen parse-API vermeidet eine einmalige Einbettung, die später vom Lehrbuchgang abdriftet.
Integrationsbeispiele
Rätsel- und Kata-Fixtures
Speisen Sie Programmierübungen und Eigenschaftstests mit einem deterministischen n×n-Gitter, dessen Liniensummen n(n²+1)/2 sind, ohne fest verdrahtete Tabellen.
Technische Fragen
Wie erzeugt man ein magisches Quadrat ungerader Ordnung?
Senden Sie eine ungerade ganze Zahl order n ≥ 3 (Aliase n und size). Die API liefert ein n×n-Gitter, gefüllt nach der Siamesischen Methode, plus die magische Konstante n(n²+1)/2.
Was kostet der Generator für magische Quadrate?
Das Browser-Werkzeug ist kostenlos. API-Anfragen nutzen ein vorausbezahltes Guthaben zu $0.002 je erfolgreichem Aufruf; ungültige Eingabe wird nicht berechnet.