oj-刷题 汉诺塔问题

来源:互联网 发布:seed软件 编辑:程序博客网 时间:2024/05/21 07:58
/*烟台大学计算机学院  2016作者:张威完成日期:2017年3月5日*/#include <stdio.h>#include <stdlib.h>void MoveSingleDisk(char start,char finish){   printf("%c->%c\n",start,finish);}void MoveTower(int n,char start,char finish,char temp){    if(n==1)        MoveSingleDisk(start,finish);    else    {        MoveTower(n-1,start,temp,finish); //将n-1大小的圆盘从start处移动到finish处        MoveSingleDisk(start,finish);     //将单独的那个圆盘从start处移动到finish处        MoveTower(n-1,temp,finish,start);  //将n-1大小的那个圆盘从temp处移动到finish处    }}int main(){    int n;    scanf("%d",&n);    MoveTower(n,'A','C','B');    return 0;}


0 0
原创粉丝点击