递归-汉诺塔

挺简单的代码吧,,,就是那个return ......

 1 #include <iostream>
 2 using namespace std;
 3 int n;
 4 void hanoi(int n,char src,char mid,char des){
 5     if(n==1){
 6         cout<<src<<"->"<<des<<endl;
 7         return ;//这个return 很有必要啊,递归边界.如果没有的话执行完if会继续执行hanoi n-1
 8     }
 9     hanoi(n-1,src,des,mid);
10     cout<<src<<"->"<<des<<endl;
11     hanoi(n-1,mid,src,des);
12 
13 
14 }
15 int main(){
16     cin>>n;
17     hanoi(n,'A','B','C');
18 }

 

posted @ 2020-07-05 15:54  安之若醇  阅读(148)  评论(0编辑  收藏  举报
Live2D服务支持