Magisches Quadrat rekursiv lösen

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Magisches Quadrat rekursiv lösen

    Hallo,
    ich bin dabei ein Programm in Java zu schreiben, dass ein Magisches Quadrat lösen soll.
    Im Moment scheitere ich jedoch schon an der theoretischen Ausführung.
    Ich habe eine Funktion die alle Spalten, Reihen und Diagonalen auf "Magie" überprüfen kann.
    Außerdem eine, die ein NxN Quadrat mit zufällingen zahlen von 1 bis n² füllt.
    Die Frage ist jetzt wie löse ich das Quadrat, ohne jedes Mal am Ende von Neuem anzufangen, also rein zufällig eine Lösung zu finden.
    Mann könnte es nach jeder ausgefüllten Zeile überprüfen, ob die Summe stimmt, um diese dann zu löschen wenn nicht.
    Dabei kommt man aber spätestens in der letzten Zeile in Schwierigkeiten, da nun auch die Spaltensummen stimmen müssen und man somit evtl. Zahlen in anderen Spalten löschen muss.
    Man dreht sich also mehr oder weniger im Kreis.
    Wie geht man die Lösung also am besten an, um möglichst günstig ein Ergebnis zu erhalten.
    MfG
    Loud Silence
  • Ich glaube nicht, dass es eine rekursive Lösung gibt. Das würde ja bedeuten, dass du die Lösung für ein Quadrat der Größe n aus der Lösung für n-1 ableiten kannst. In dem Wikipedia-Artikel gibt es einen Abschnitt über die Konstruktion eines Quadrates. Hast du dir den mal angeschaut?

    Thomas