#include #include enum STATUS{ SUCCESS, FAILURE};/*****************************************//*将a上最上面number个圆盘可以经过b搬到c上*//*****************************************/void move(int number,char a,char b,char c){if(number==1){printf("\t%c--->%c\n",a,c);//如果是一个则直接搬}else{move(number-1,a,c,b);//先将a上的number-1块经过c搬到b上printf("\t%c--->%c\n",a,c);//将a上的最后一块直接搬到c上move(number-1,b,a,c);//再将b上的number-1块经过a搬到c上}}int main(int argc,char *argv[]){int number;printf("Please input the number of blocks \n");scanf("%d",&number);move(number,'a','b','c');return SUCCESS;}
汉诺塔递归解决
最新推荐文章于 2022-08-03 06:48:29 发布