Ein stabiles Quadrat (ähnlich ein magisches Quadrat ) ist eine Anordnung der ganzen Zahlen 1 bis N 2 auf einem N durch N Raster , so dass jeder 2 x 2 subgrid die gleiche Summe aufweist.
Zum Beispiel für N = 3 ein robustes Quadrat
1 5 3
9 8 7
4 2 6
weil die vier 2 von 2 Teilnetze
1 5
9 8
5 3
8 7
9 8
4 2
8 7
2 6
alle Summe in gleicher Höhe, 23:
23 = 1 + 5 + 9 + 8 = 5 + 3 + 8 + 7 = 9 + 8 + 4 + 2 = 8 + 7 + 2 + 6
Nun gibt es robuste Quadrate für höhere Werte von N und sogar rechteckige Versionen aber Ihre einzige Aufgabe in dieser Herausforderung ist der Ausgabe alle möglichen 3 von 3 robusten Quadrate. Es gibt genau 376 verschiedene 3 von 3 robusten Plätze, einschließlich denen, die Reflexionen oder Drehungen von anderen sind, und nicht alle von ihnen haben die gleiche Summe von 23.
Schreiben Sie ein Programm oder eine Funktion, die keinen Eingang, sondern druckt oder gibt eine Reihe von allen 376 stabilen Quadraten in beliebiger Reihenfolge, getrennt durch Leerzeilen mit bis zu zwei optionalen hinteren Zeilenumbrüchen nimmt. Jedes Quadrat sollte aus drei Zeilen mit drei durch Leerzeichen getrennten Dezimalstellen ungleich Null bestehen.
Hier ist ein gültiges Ausgabebeispiel:
1 5 3
9 8 7
4 2 6
1 5 6
8 7 3
4 2 9
1 5 6
8 9 3
2 4 7
1 5 7
9 6 3
2 4 8
1 6 2
8 9 7
4 3 5
1 6 2
9 7 8
4 3 5
1 6 3
9 8 7
2 5 4
1 6 7
8 5 2
3 4 9
1 6 7
9 4 3
2 5 8
1 7 2
9 4 8
5 3 6
1 7 2
9 6 8
3 5 4
1 7 4
8 3 5
6 2 9
1 7 4
9 2 6
5 3 8
1 7 6
9 2 4
3 5 8
1 8 2
5 9 4
6 3 7
1 8 3
6 5 4
7 2 9
1 8 3
9 2 7
4 5 6
1 8 4
5 7 2
6 3 9
1 8 4
6 9 3
2 7 5
1 8 4
9 3 6
2 7 5
1 8 6
7 3 2
4 5 9
1 9 2
5 6 4
7 3 8
1 9 2
6 4 5
7 3 8
1 9 2
6 8 5
3 7 4
1 9 2
8 3 7
4 6 5
1 9 3
7 2 5
6 4 8
1 9 3
7 6 5
2 8 4
1 9 4
5 8 2
3 7 6
1 9 4
6 7 3
2 8 5
1 9 4
8 2 5
3 7 6
1 9 5
7 2 3
4 6 8
1 9 5
7 4 3
2 8 6
2 3 5
9 8 6
4 1 7
2 3 6
9 7 5
4 1 8
2 4 3
8 9 7
5 1 6
2 4 3
9 7 8
5 1 6
2 4 6
7 8 3
5 1 9
2 4 7
8 9 3
1 5 6
2 4 8
9 6 3
1 5 7
2 5 3
9 4 8
6 1 7
2 5 4
9 3 7
6 1 8
2 5 4
9 8 7
1 6 3
2 5 7
6 8 1
4 3 9
2 5 7
6 9 1
3 4 8
2 5 8
7 6 1
3 4 9
2 5 8
9 4 3
1 6 7
2 6 1
7 9 8
5 3 4
2 6 1
8 7 9
5 3 4
2 6 3
5 9 4
7 1 8
2 6 4
5 8 3
7 1 9
2 6 7
9 1 4
3 5 8
2 6 8
7 4 1
3 5 9
2 7 1
8 4 9
6 3 5
2 7 1
8 6 9
4 5 3
2 7 3
5 6 4
8 1 9
2 7 3
6 4 5
8 1 9
2 7 3
9 1 8
5 4 6
2 7 5
4 8 1
6 3 9
2 7 5
6 9 3
1 8 4
2 7 5
9 3 6
1 8 4
2 8 1
4 9 5
7 3 6
2 8 4
7 6 5
1 9 3
2 8 5
4 9 1
3 7 6
2 8 5
6 7 3
1 9 4
2 8 6
7 4 3
1 9 5
2 9 1
4 6 5
8 3 7
2 9 1
5 4 6
8 3 7
2 9 1
5 8 6
4 7 3
2 9 1
7 3 8
5 6 4
2 9 3
6 1 5
7 4 8
2 9 4
3 7 1
6 5 8
2 9 4
3 8 1
5 6 7
2 9 5
4 7 1
3 8 6
2 9 5
7 1 4
3 8 6
2 9 6
5 3 1
4 7 8
2 9 6
5 4 1
3 8 7
3 2 5
9 8 7
4 1 6
3 2 6
8 9 5
4 1 7
3 2 7
9 6 5
4 1 8
3 4 2
7 9 8
6 1 5
3 4 2
8 7 9
6 1 5
3 4 5
9 2 7
6 1 8
3 4 8
6 9 1
2 5 7
3 4 9
7 6 1
2 5 8
3 4 9
8 5 2
1 6 7
3 5 1
7 8 9
6 2 4
3 5 2
8 4 9
7 1 6
3 5 4
9 1 8
6 2 7
3 5 4
9 6 8
1 7 2
3 5 8
9 1 4
2 6 7
3 5 8
9 2 4
1 7 6
3 5 9
7 4 1
2 6 8
3 6 1
7 8 9
4 5 2
3 6 2
4 9 5
8 1 7
3 6 8
7 1 2
4 5 9
3 7 2
4 6 5
9 1 8
3 7 2
5 4 6
9 1 8
3 7 2
8 1 9
6 4 5
3 7 4
6 1 5
8 2 9
3 7 4
6 8 5
1 9 2
3 7 6
4 9 1
2 8 5
3 7 6
5 8 2
1 9 4
3 7 6
8 2 5
1 9 4
3 8 1
4 5 6
9 2 7
3 8 1
7 2 9
6 5 4
3 8 4
2 9 1
6 5 7
3 8 6
4 7 1
2 9 5
3 8 6
7 1 4
2 9 5
3 8 7
5 4 1
2 9 6
3 9 1
5 2 7
8 4 6
3 9 1
5 6 7
4 8 2
3 9 2
5 1 6
8 4 7
3 9 4
2 6 1
7 5 8
3 9 4
2 8 1
5 7 6
3 9 6
4 2 1
5 7 8
3 9 6
5 1 2
4 8 7
4 1 6
9 8 7
3 2 5
4 1 7
8 9 5
3 2 6
4 1 7
9 8 6
2 3 5
4 1 8
9 6 5
3 2 7
4 1 8
9 7 5
2 3 6
4 2 6
9 8 7
1 5 3
4 2 7
6 9 3
5 1 8
4 2 7
9 3 6
5 1 8
4 2 8
7 6 3
5 1 9
4 2 9
8 7 3
1 5 6
4 3 5
8 9 7
1 6 2
4 3 5
9 2 8
6 1 7
4 3 5
9 7 8
1 6 2
4 3 7
5 8 2
6 1 9
4 3 7
8 2 5
6 1 9
4 3 7
9 1 6
5 2 8
4 3 9
6 8 1
2 5 7
4 5 2
7 3 9
8 1 6
4 5 2
7 8 9
3 6 1
4 5 3
8 1 9
7 2 6
4 5 3
8 6 9
2 7 1
4 5 6
3 8 1
7 2 9
4 5 6
9 2 7
1 8 3
4 5 9
7 1 2
3 6 8
4 5 9
7 3 2
1 8 6
4 6 2
3 8 5
9 1 7
4 6 5
2 9 1
7 3 8
4 6 5
8 3 7
1 9 2
4 6 8
7 2 3
1 9 5
4 7 1
5 3 8
9 2 6
4 7 1
6 2 9
8 3 5
4 7 3
5 1 6
9 2 8
4 7 3
5 8 6
2 9 1
4 7 5
2 6 1
8 3 9
4 7 8
5 3 1
2 9 6
4 8 1
2 7 5
9 3 6
4 8 1
3 9 6
5 7 2
4 8 1
6 3 9
5 7 2
4 8 2
5 6 7
3 9 1
4 8 3
1 9 2
7 5 6
4 8 6
3 2 1
7 5 9
4 8 7
5 1 2
3 9 6
4 9 1
2 8 5
6 7 3
4 9 1
3 7 6
5 8 2
4 9 1
5 2 8
6 7 3
4 9 2
1 7 3
8 5 6
4 9 2
1 8 3
7 6 5
4 9 3
1 6 2
8 5 7
4 9 3
1 8 2
6 7 5
4 9 5
2 3 1
7 6 8
4 9 5
3 1 2
7 6 8
4 9 6
3 2 1
5 8 7
5 1 6
8 9 7
2 4 3
5 1 6
9 7 8
2 4 3
5 1 8
6 9 3
4 2 7
5 1 8
9 3 6
4 2 7
5 1 9
7 6 3
4 2 8
5 1 9
7 8 3
2 4 6
5 2 3
7 8 9
6 1 4
5 2 8
7 3 4
6 1 9
5 2 8
9 1 6
4 3 7
5 3 2
6 8 9
7 1 4
5 3 4
7 9 8
2 6 1
5 3 4
8 2 9
7 1 6
5 3 4
8 7 9
2 6 1
5 3 6
9 4 8
1 7 2
5 3 8
4 7 1
6 2 9
5 3 8
7 1 4
6 2 9
5 3 8
9 2 6
1 7 4
5 4 3
7 2 9
8 1 6
5 4 6
3 7 2
8 1 9
5 4 6
9 1 8
2 7 3
5 6 4
1 9 2
8 3 7
5 6 4
7 3 8
2 9 1
5 6 7
3 8 1
2 9 4
5 7 2
1 8 4
9 3 6
5 7 2
3 9 6
4 8 1
5 7 2
6 3 9
4 8 1
5 7 4
1 6 2
9 3 8
5 7 6
2 3 1
8 4 9
5 7 6
2 8 1
3 9 4
5 7 6
3 1 2
8 4 9
5 7 8
4 2 1
3 9 6
5 8 2
1 9 4
6 7 3
5 8 2
3 7 6
4 9 1
5 8 7
3 2 1
4 9 6
5 9 1
3 2 7
8 6 4
5 9 1
3 4 7
6 8 2
5 9 2
1 7 4
6 8 3
5 9 2
4 1 7
6 8 3
5 9 4
1 3 2
8 6 7
5 9 4
2 1 3
8 6 7
6 1 4
7 8 9
5 2 3
6 1 5
7 9 8
3 4 2
6 1 5
8 7 9
3 4 2
6 1 7
9 2 8
4 3 5
6 1 7
9 4 8
2 5 3
6 1 8
9 2 7
3 4 5
6 1 8
9 3 7
2 5 4
6 1 9
5 8 2
4 3 7
6 1 9
7 3 4
5 2 8
6 1 9
8 2 5
4 3 7
6 2 3
5 9 8
7 1 4
6 2 4
7 8 9
3 5 1
6 2 7
9 1 8
3 5 4
6 2 8
5 4 3
7 1 9
6 2 9
4 7 1
5 3 8
6 2 9
7 1 4
5 3 8
6 2 9
8 3 5
1 7 4
6 3 2
5 7 9
8 1 4
6 3 5
8 4 9
2 7 1
6 3 7
5 2 4
8 1 9
6 3 7
5 9 4
1 8 2
6 3 9
4 8 1
2 7 5
6 3 9
5 7 2
1 8 4
6 4 2
3 8 7
9 1 5
6 4 5
2 7 3
9 1 8
6 4 5
8 1 9
3 7 2
6 4 8
7 2 5
1 9 3
6 5 1
3 7 8
9 2 4
6 5 1
3 9 8
7 4 2
6 5 4
1 8 3
9 2 7
6 5 4
7 2 9
3 8 1
6 5 7
2 4 1
8 3 9
6 5 7
2 9 1
3 8 4
6 5 8
3 2 1
7 4 9
6 5 8
3 7 1
2 9 4
6 7 1
4 2 9
8 5 3
6 7 3
1 9 4
5 8 2
6 7 3
2 8 5
4 9 1
6 7 3
5 2 8
4 9 1
6 7 5
1 3 2
9 4 8
6 7 5
1 8 2
4 9 3
6 7 5
2 1 3
9 4 8
6 8 1
2 3 7
9 5 4
6 8 2
3 4 7
5 9 1
6 8 3
1 7 4
5 9 2
6 8 3
4 1 7
5 9 2
6 8 4
1 2 3
9 5 7
6 9 2
1 3 5
8 7 4
6 9 2
1 4 5
7 8 3
6 9 3
1 2 4
8 7 5
6 9 3
2 1 5
7 8 4
6 9 4
1 2 3
7 8 5
7 1 4
5 9 8
6 2 3
7 1 4
6 8 9
5 3 2
7 1 6
8 2 9
5 3 4
7 1 6
8 4 9
3 5 2
7 1 8
5 9 4
2 6 3
7 1 9
5 4 3
6 2 8
7 1 9
5 8 3
2 6 4
7 2 3
5 6 9
8 1 4
7 2 4
3 9 6
8 1 5
7 2 4
6 3 9
8 1 5
7 2 6
8 1 9
4 5 3
7 2 9
3 8 1
4 5 6
7 2 9
6 5 4
1 8 3
7 3 4
2 8 5
9 1 6
7 3 4
5 2 8
9 1 6
7 3 4
6 1 9
8 2 5
7 3 6
4 2 5
9 1 8
7 3 6
4 9 5
2 8 1
7 3 8
2 9 1
4 6 5
7 3 8
5 6 4
1 9 2
7 3 8
6 4 5
1 9 2
7 4 2
3 9 8
6 5 1
7 4 8
6 1 5
2 9 3
7 4 9
3 2 1
6 5 8
7 5 1
3 6 9
8 4 2
7 5 2
1 8 6
9 3 4
7 5 2
1 9 6
8 4 3
7 5 6
1 4 2
9 3 8
7 5 6
1 9 2
4 8 3
7 5 8
2 6 1
3 9 4
7 5 9
3 2 1
4 8 6
7 6 1
2 5 8
9 4 3
7 6 1
3 4 9
8 5 2
7 6 2
4 1 9
8 5 3
7 6 5
1 8 3
4 9 2
7 6 8
2 3 1
4 9 5
7 6 8
3 1 2
4 9 5
7 8 3
1 4 5
6 9 2
7 8 4
2 1 5
6 9 3
7 8 5
1 2 3
6 9 4
8 1 4
5 6 9
7 2 3
8 1 4
5 7 9
6 3 2
8 1 5
3 9 6
7 2 4
8 1 5
6 3 9
7 2 4
8 1 6
7 2 9
5 4 3
8 1 6
7 3 9
4 5 2
8 1 7
4 9 5
3 6 2
8 1 9
3 7 2
5 4 6
8 1 9
5 2 4
6 3 7
8 1 9
5 6 4
2 7 3
8 1 9
6 4 5
2 7 3
8 2 4
3 6 7
9 1 5
8 2 5
4 3 7
9 1 6
8 2 5
6 1 9
7 3 4
8 2 6
3 4 5
9 1 7
8 2 9
6 1 5
3 7 4
8 3 5
1 7 4
9 2 6
8 3 5
4 1 7
9 2 6
8 3 5
6 2 9
4 7 1
8 3 7
1 9 2
5 6 4
8 3 7
4 6 5
2 9 1
8 3 7
5 4 6
2 9 1
8 3 9
2 4 1
6 5 7
8 3 9
2 6 1
4 7 5
8 4 2
3 6 9
7 5 1
8 4 3
1 9 6
7 5 2
8 4 6
5 2 7
3 9 1
8 4 7
5 1 6
3 9 2
8 4 9
2 3 1
5 7 6
8 4 9
3 1 2
5 7 6
8 5 2
1 6 7
9 4 3
8 5 2
3 4 9
7 6 1
8 5 3
4 1 9
7 6 2
8 5 3
4 2 9
6 7 1
8 5 6
1 2 3
9 4 7
8 5 6
1 7 3
4 9 2
8 5 7
1 6 2
4 9 3
8 6 2
1 4 7
9 5 3
8 6 3
2 1 7
9 5 4
8 6 4
3 2 7
5 9 1
8 6 7
1 3 2
5 9 4
8 6 7
2 1 3
5 9 4
8 7 4
1 3 5
6 9 2
8 7 5
1 2 4
6 9 3
9 1 5
3 6 7
8 2 4
9 1 5
3 8 7
6 4 2
9 1 6
2 8 5
7 3 4
9 1 6
4 3 7
8 2 5
9 1 6
5 2 8
7 3 4
9 1 7
3 4 5
8 2 6
9 1 7
3 8 5
4 6 2
9 1 8
2 7 3
6 4 5
9 1 8
4 2 5
7 3 6
9 1 8
4 6 5
3 7 2
9 1 8
5 4 6
3 7 2
9 2 4
3 7 8
6 5 1
9 2 6
1 7 4
8 3 5
9 2 6
4 1 7
8 3 5
9 2 6
5 3 8
4 7 1
9 2 7
1 8 3
6 5 4
9 2 7
4 5 6
3 8 1
9 2 8
5 1 6
4 7 3
9 3 4
1 8 6
7 5 2
9 3 6
1 8 4
5 7 2
9 3 6
2 7 5
4 8 1
9 3 8
1 4 2
7 5 6
9 3 8
1 6 2
5 7 4
9 4 3
1 6 7
8 5 2
9 4 3
2 5 8
7 6 1
9 4 7
1 2 3
8 5 6
9 4 8
1 3 2
6 7 5
9 4 8
2 1 3
6 7 5
9 5 3
1 4 7
8 6 2
9 5 4
2 1 7
8 6 3
9 5 4
2 3 7
6 8 1
9 5 7
1 2 3
6 8 4
Ihr Programm muss dieselben 376 stabilen Quadrate erzeugen, nur nicht unbedingt in dieser Reihenfolge. Die Ausgabe muss nicht deterministisch sein, dh Sie können sie in unterschiedlichen Reihenfolgen in unterschiedlichen Läufen ausgeben, solange sie alle vorhanden sind.
Der kürzeste Code in Bytes gewinnt.
Aus dieser Chat-Nachricht entstand das Thema der stabilen Quadrate, das zu einer großen Diskussion über deren Eigenschaften und deren Generierung führte. Requisiten Peter Taylor , feersum und SP3000 für die Diskussion fortgesetzt und vor allem zu El'endia Starman für die Ausarbeitung einer entsprechenden OEIS Sequenz .
5 7 3\n\n
, so gibt es eine leere Zeile nach dem letzten Platz. Ist das zulässig?