汉诺塔的玩法技巧 按规则移动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}
复制代码