6

    xiaoxiao2021-03-25  46

    

    #include<stdio.h>

    static long m=0;

    void Move(char A,char C)

    {

        printf("\n移动顶部盘子从 %c to %c",A, C);m++;

    }

    void Hanoi(int n,char A,char B,char C)

    {

        if(n==1) Move(A,C);

        else

        {

            Hanoi(n-1,A,C,B);

            Move(A,C);

            Hanoi(n-1,B,A,C);

        }

    }

    int main()

    {

        int n;

        printf("请输入盘子个数: ");

        scanf("%d",&n);

        printf("\n移动步骤如下: \n");

        Hanoi(n,'A','B','C');

        printf("\n\n移动步骤总数为%d\n:",m);

    }

    转载请注明原文地址: https://ju.6miu.com/read-39994.html

    最新回复(0)