명 ¶
- 는 Hanoi 문를 보면 를 는 보면 보는 보 더 많 .
- An = 2An-1 + 1
-
- 를 눈.
~cpp void hanoi(int n,int a, int b) // { if(n!=0) { hanoi(n-1, a,inout(a,b)); //1 번 a 목링(b) 말 른 . cout<<a<<"->"<<b<<"\n"; //2 번 링 목 링(b) . hanoi(n-1, inout(a,b),b); //3번 번 -inout(a,b) 목링(b) .. } 명 무 . 보..}
¶
~cpp #include <iostream> using namespace std; void hanoi(int n,int a, int b); //a, b 목 n int inout(int i,int j); int main() { int n; cout<<"노 막대 를 ! : "; cin>>n; // 받는. hanoi(n,1,3); return 0; } int inout(int i, int j) // 1,2,3 i,j (1,2,3 ) 리됨 { if((i==1 && j==2) || (i==2 && j==1)) return 3; else if((i==1 && j==3) || (i==3 && j==1)) return 2; else return 1; } void hanoi(int n,int a, int b) // { if(n!=0) { hanoi(n-1, a,inout(a,b)); cout<<a<<"->"<<b<<"\n"; hanoi(n-1, inout(a,b),b); } }