《每天学习C语言小程序》之汉诺塔(hanoi)问题

《每天学习C语言小程序》之汉诺塔hanoi问题

问题描述:汉诺塔问题

程序代码:

#include<stdio.h>
int hanoi(int n,char A,char B,char C)
{
    if(n==1)
    {
        move(A,C);
    }
    else
    {
    hanoi(n-1,A,C,B);/*从a移到b借助c*/
    printf("%c->%c\n",A,C);
    hanoi(n-1,B,A,C); 
    }
}
int main()
{
    int num;
    printf("Please enter a number desks :");
    scanf("%d\n",&num);
    hanoi(num,'A','B','C');
    return 0;
}
int move(char x,char y)
{
    printf("%c->%c\n",x,y);
}

测试输入:3

结果输出:
A->C
A->B
C->B
A->C
B->A
B->C
A->C

你可能感兴趣的:(笔记)