Türme von Hanoi->Anzahl der notwendigen Schritte durch rekursive Funktion lösen
-
Moin,
momentan grüble ich an den Türmen von Hanoi. Ich habe eine Funktion geschrieben, die die Anzahl der relevanten Verschiebungen berechnet. Jedoch kann man das sicher eleganter lösen. Die 2 Parameter in der Funktion stören mich. Das geht bestimmt noch simpler.Hier mal mein Code:
#include <iostream> #include <conio.h> int hanoi(int, int); int main() { int n; std::cout<<"Anzahl Scheiben: "; std::cin>>n; std::cout<<"Anzahl der Verschiebevorg"<<char(132)<<"nge: "<<hanoi(n, n); getch(); } int hanoi(int n, int x) { if(n==x) return (hanoi(n-1, x)*2)-1; if(n>0) return hanoi(n-1, x)*2; else return 1; }
-
http://www.willemer.de/informatik/cpp/rekursion.htm
ganz unten is n gutes beispiel.
-
Danke.