递归汉诺塔

 1 /* 递归汉诺塔 */
 2 
 3 #include<iostream>
 4 
 5 void han(int n,char A,char B,char C)
 6 {
 7     static int num = 1;
 8     std::cout << "" << num << "" std::endl;
 9     num++;
10 
11     if(n<1)
12     {
13         return;
14     }
15     else
16     {
17         han(n-1,A,C,B);
18         std::cout << A << "->" << C << std::endl;
19         han(n-1,B,A,C);
20     }
21 }
22 
23 int main()
24 {
25     int n;
26     std::cin>>n;
27     std::cout << "n = " << n << std::endl;
28     
29     han(n,'A','B','C');
30 
31     std::cin.get();
32     return
33 }

 

posted on 2015-06-03 09:14  Dragon-wuxl  阅读(111)  评论(0)    收藏  举报

导航