hanoi(Anzahl,Zuege) :- move(Anzahl,links,rechts,mitte,Zuege). move(o,_,_,_,[]). move(s(Anzahl),Von,Ueber,Nach,Zuege) :- move(Anzahl,Von,Nach,Ueber,Xs), append(Xs,[zug(Von,Nach)],Ys), move(Anzahl,Ueber,Von,Nach,Zs), append(Ys,Zs,Zuege). append([],Liste,Liste). append([Kopf|Rest],Liste,[Kopf|RestListe]) :- append(Rest,Liste,RestListe).