汉诺塔的玩法技巧 按规则移动9层的汉诺塔最少需要多少步?

按规则移动9层的汉诺塔最少需要多少步?根据公式,9层需要2^9-1=511步汉诺塔递归算法?1//河内大厦2#包括<stdio。H>3 void Hanoi(int n,char a,char

按规则移动9层的汉诺塔最少需要多少步?

根据公式,9层需要2^9-1=511步

汉诺塔递归算法?

1//河内大厦

2#包括<stdio。H>

3 void Hanoi(int n,char a,char b,char c)//这里的意思是在b列的帮助下将a列上的板移动到c列

4{if(1==n)//如果是板,将a列上的板移动到c列

5{

6 printf(%c-->%cn”,a,c)

7}

8其他

9{

10 Hanoi n-1,a,c,b) //借助C列

11 printf(%C-->%Cn”,a,C)//将a列的最后一块板直接移动到C

12 Hanoi(n-1,b,a,C)//然后将b列的n-1块板移动到C

13}

14}

15 int main()

16{int n

17 printf(”输入磁盘:“)

18 scanf(%d”,&n)

19 Hanoi(n,“a”,“B”,“C”)

20返回0

21}

复制代码