hanoi
This commit is contained in:
92
Stack/appliance/hanoi.cpp
Normal file
92
Stack/appliance/hanoi.cpp
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <stack>
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
void hanoi(int n, int a, int b, int c){
|
||||||
|
if(n == 1){
|
||||||
|
cout << "Move 1 from stack " << a << " to " << b << "(n == 1)" << endl;
|
||||||
|
}
|
||||||
|
if(n > 1){
|
||||||
|
hanoi(n - 1, a, b, c);
|
||||||
|
cout << "Move " << n << " from stack " << a << " to " << c << endl;
|
||||||
|
hanoi(n - 1, b, c, a);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(){
|
||||||
|
hanoi(1, 1, 2, 3);
|
||||||
|
cout << endl;
|
||||||
|
hanoi(2, 1, 2, 3);
|
||||||
|
cout << endl;
|
||||||
|
hanoi(3, 1, 2, 3);
|
||||||
|
cout << endl;
|
||||||
|
hanoi(4, 1, 2, 3);
|
||||||
|
cout << endl;
|
||||||
|
hanoi(5, 1, 2, 3);
|
||||||
|
cout << endl;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Move 1 from stack 1 to 2(n == 1)
|
||||||
|
|
||||||
|
Move 1 from stack 1 to 2(n == 1)
|
||||||
|
Move 2 from stack 1 to 3
|
||||||
|
Move 1 from stack 2 to 3(n == 1)
|
||||||
|
|
||||||
|
Move 1 from stack 1 to 2(n == 1)
|
||||||
|
Move 2 from stack 1 to 3
|
||||||
|
Move 1 from stack 2 to 3(n == 1)
|
||||||
|
Move 3 from stack 1 to 3
|
||||||
|
Move 1 from stack 2 to 3(n == 1)
|
||||||
|
Move 2 from stack 2 to 1
|
||||||
|
Move 1 from stack 3 to 1(n == 1)
|
||||||
|
|
||||||
|
Move 1 from stack 1 to 2(n == 1)
|
||||||
|
Move 2 from stack 1 to 3
|
||||||
|
Move 1 from stack 2 to 3(n == 1)
|
||||||
|
Move 3 from stack 1 to 3
|
||||||
|
Move 1 from stack 2 to 3(n == 1)
|
||||||
|
Move 2 from stack 2 to 1
|
||||||
|
Move 1 from stack 3 to 1(n == 1)
|
||||||
|
Move 4 from stack 1 to 3
|
||||||
|
Move 1 from stack 2 to 3(n == 1)
|
||||||
|
Move 2 from stack 2 to 1
|
||||||
|
Move 1 from stack 3 to 1(n == 1)
|
||||||
|
Move 3 from stack 2 to 1
|
||||||
|
Move 1 from stack 3 to 1(n == 1)
|
||||||
|
Move 2 from stack 3 to 2
|
||||||
|
Move 1 from stack 1 to 2(n == 1)
|
||||||
|
|
||||||
|
Move 1 from stack 1 to 2(n == 1)
|
||||||
|
Move 2 from stack 1 to 3
|
||||||
|
Move 1 from stack 2 to 3(n == 1)
|
||||||
|
Move 3 from stack 1 to 3
|
||||||
|
Move 1 from stack 2 to 3(n == 1)
|
||||||
|
Move 2 from stack 2 to 1
|
||||||
|
Move 1 from stack 3 to 1(n == 1)
|
||||||
|
Move 4 from stack 1 to 3
|
||||||
|
Move 1 from stack 2 to 3(n == 1)
|
||||||
|
Move 2 from stack 2 to 1
|
||||||
|
Move 1 from stack 3 to 1(n == 1)
|
||||||
|
Move 3 from stack 2 to 1
|
||||||
|
Move 1 from stack 3 to 1(n == 1)
|
||||||
|
Move 2 from stack 3 to 2
|
||||||
|
Move 1 from stack 1 to 2(n == 1)
|
||||||
|
Move 5 from stack 1 to 3
|
||||||
|
Move 1 from stack 2 to 3(n == 1)
|
||||||
|
Move 2 from stack 2 to 1
|
||||||
|
Move 1 from stack 3 to 1(n == 1)
|
||||||
|
Move 3 from stack 2 to 1
|
||||||
|
Move 1 from stack 3 to 1(n == 1)
|
||||||
|
Move 2 from stack 3 to 2
|
||||||
|
Move 1 from stack 1 to 2(n == 1)
|
||||||
|
Move 4 from stack 2 to 1
|
||||||
|
Move 1 from stack 3 to 1(n == 1)
|
||||||
|
Move 2 from stack 3 to 2
|
||||||
|
Move 1 from stack 1 to 2(n == 1)
|
||||||
|
Move 3 from stack 3 to 2
|
||||||
|
Move 1 from stack 1 to 2(n == 1)
|
||||||
|
Move 2 from stack 1 to 3
|
||||||
|
Move 1 from stack 2 to 3(n == 1)
|
||||||
|
*/
|
BIN
Stack/appliance/hanoi.exe
Normal file
BIN
Stack/appliance/hanoi.exe
Normal file
Binary file not shown.
Reference in New Issue
Block a user