汉诺塔

来源:互联网 发布:linux exec() 编辑:程序博客网 时间:2024/04/29 09:17
#include <stdio.h>void Move(int n,char a,char b){    printf("Move %d : from %c to %c\n",n,a,b);}//函数功能:用递方法将n个圆盘借助于柱子c从源柱子a移动到目标柱子b上void Hanoi(int n,char a,char b,char c){    if(n == 1)    {        Move(n,a,b);//将第n个圆盘由a移动到b    }    else{        Hanoi(n-1,a,c,b);//将第n-1个圆盘借助于b由a移动到c        Move(n,a,b);//将第n个圆盘由a移动到b        Hanoi(n-1,c,b,a);//将第n-1个圆盘借助于a由c移动到b    }}int main(){    int n;    printf("Input the number of disks:\n");    scanf("%d",&n);    printf("Steps of moving %d disks from A to B by means of C:\n", n);    Hanoi(n,'A','B','C');//将n个圆盘借助C由A转移到B}

其实我没有搞懂,直接从书上搬来

1 0
原创粉丝点击