Einzelnen Beitrag anzeigen

Benutzerbild von kwhk
kwhk

Registriert seit: 25. Mär 2009
Ort: Dresden
168 Beiträge
 
Delphi 10.3 Rio
 
#1

Zauberquadrat ermitteln

  Alt 2. Okt 2018, 23:23
In einem etwas älteren Buch "Die Wunder der Rechenkunst" von Johann Christoph Schäfer, das 1857 erstmalig erschienen ist, gibt es u.a. Aufgaben zu Zauberquadraten 3x3, 4x4, 5x5 usw.
Dabei sind z.B. in einem 3x3 Quadrat die Ziffern 1 bis 9 so in die 9 Felder einzutragen, dass die Summen der Ziffern jeder Zeile, Spalte und Diagonale jeweils gleich sind.
Die Summe der Ziffern 1 bis 9 beträgt 45, es muss also die Zeilen-, Spalten- und Diagonalen-Summe jeweils 15 sein.
Die Anzahl der Kombinationsmöglichkeiten von n Elementen betragt n!. Bei 9 Ziffern sind das 9! = 1*2*3*4*5*6*7*8*9 = 362.880 Möglichkeiten.

Mein Lösungsansatz z.B. beim 3x3 Quadrat:
a) Die 9 Ziffern in eine Reihe stellen,
b) dann jeweils die ersten drei Ziffern dieser Reihe in Zeile 1,
c) die nächsten drei in Zeile 2
d) und die letzten drei in die 3. Zeile.
e) Danach prüfen, ob die Summen der Zeilen, Spalten und Diagonalen jeweils identisch sind.
f) Wenn es (noch) nicht stimmt, dann die Ziffern in der Reihe tauschen und erneut probieren, bis man die Lösung gefunden hat.

Ausgangsreihe = 1 2 3 - 4 5 6 - 7 8 9

Durch Probieren herausgefunden = 8 3 4 - 1 5 9 - 6 7 2

Zauberquadrat 3x3 :

8 3 4
1 5 9
6 7 2

Mit welchem Algorithmus könnte man diese Elemente der Reihe so umtauschen, dass alle 382.880 Möglichkeiten durchgespielt werden können ? Es ist eine Aufgabe der Kombinatorik.
Miniaturansicht angehängter Grafiken
zauberquadrat9-16.jpg  
Hartmut

Geändert von kwhk ( 2. Okt 2018 um 23:50 Uhr)
  Mit Zitat antworten Zitat