汉诺塔问题

#include<stdio.h>
void work(int d,char A,char B,char C)
{
    if(d==1)//d为1时,就不再递归了
    {    
        printf("move %d from %c to %c\n",d,A,C);
    }
    else
    {
        work(d-1,A,C,B);
        printf("move %d from %c to %c\n",d,A,C);
        work(d-1,B,A,C);
    }
}
int main()
{
    int d;
    printf("please inpu a number:");
    scanf("%d",&d);
    work(d,'A','B','C');//d为个数,ABC为塔名
    return 0;
}

这里写图片描述

posted on 2017-10-25 18:06  标配的小号  阅读(117)  评论(0编辑  收藏  举报

导航