您的位置:首页 > 其它

递归汉诺塔

2016-02-03 19:44 344 查看
#include<cstdio>  
#include<string>  
#include<cmath>  
using namespace std;  
int ans=0;  
void hanoi(int n,int a,int b,int c){  
    if(n==0){  
        printf("%d:%d->%d\n",a,b,c);ans++;  
        return;  
    }  
    hanoi(n-1,b,c,a);  
    printf("%d:%d->%d\n",a,b,c);ans++;  
    hanoi(n-1,b,a,c);  
}  
int main(){  
    int n;  
    scanf("%d",&n);  
    hanoi(n,1,2,3);  
    printf("%d\n",ans);  
    return 0;  
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: