Python :: Aufgabe #76 :: Lösung #1
2 Lösungen

#76
Das Damenproblem (Teil I)
Fortgeschrittener - Python
von ElPapito
- 07.05.2015 um 11:42 Uhr
Das klassische Damenproblem besteht aus einem 8x8 Schachfeld und 8 Damen.
Die Aufgabe besteht darin die 8 Damen so zu positionieren, dass sie sich gegenseitig nicht bedrohen, d.h. es dürfen keine zwei Damen in der gleichen Zeile/Spalte/Diagonale stehen.
Schreibe ein kleines Programm, welches ausgibt wie viele Lösungen existieren.
Die Aufgabe besteht darin die 8 Damen so zu positionieren, dass sie sich gegenseitig nicht bedrohen, d.h. es dürfen keine zwei Damen in der gleichen Zeile/Spalte/Diagonale stehen.
Schreibe ein kleines Programm, welches ausgibt wie viele Lösungen existieren.
#1

von Veigar (1120 Punkte)
- 23.11.2015 um 22:27 Uhr

#allgemein: Bei jeder prüfung: alle vorhergegangenen ungleich der neuen #und alle vorhergegangenen +- Differenz ihrer Indexe ungleich der neuen l=[] def damenprüfung(x,y): ö=0 for ä in range(len(x)): if x[ä]==y or x[ä]+(len(x)-ä)==y or x[ä]-(len(x)-ä)==y: ö=ö+1 if ö>0: return("j") else: return("n") l.append([]) for i in range(8): l[-1].append([i+1]) for a in range(7): l.append([]) for p in range(len(l[a])): for k in range(8): if damenprüfung(l[a][p],k+1)!="j": l[-1].append([]) for s in range(len(l[a][p])): l[-1][-1].append(l[a][p][s]) l[-1][-1].append(k+1) print(len(l[7]))
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1