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

2 Lösungen Lösungen öffentlich
#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.
#1
vote_ok
von Veigar (1120 Punkte) - 23.11.2015 um 22:27 Uhr
Quellcode ausblenden Python-Code
#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

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
2103537

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.