2016 - 2024

感恩一路有你

汉诺塔移动次数公式 汉诺塔问题公式是什么?

浏览量:2755 时间:2021-03-13 15:50:44 作者:admin

汉诺塔问题公式是什么?

1//河内塔

2#包括和酒店。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 else

9{

10 Hanoi n-1,a,c,b)//move n-1 plates on column a to column B with the column 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 return 0

21}

复制代码

河内塔是一个迭代问题。假设河内塔从第一列移动到最后一列(目标列)的最快次数是f(x)次。显然,f(1)=1,f(2)=3。然后我们可以把整个过程分为三个部分。一种是将第一层和第二层移动到中间列(过渡列),最快的f(2)步骤2、将第三层移动到最后一列(目标列),最快的步骤是3,将第一层和第二层移动到最后一列,最快的步骤是f(2),因此f(3)=f(2)1 f(2)=7,依此类推,f(4)=f(3)1 f(3)=15 f(5) =f(4)1f(4)=31f(6)=f(5)1f(5)=63f(7)=f(6)1f(6)=127f(8)=f(7)1f(7)=255 f(9)=f(8)1f(8)=511ps。如果您已经学习了序列,您可以得到更一般的递推公式f(x1)=2*f(x)1。此外,还可以得到通式F(x)=2^x-1

汉诺塔移动次数公式 汉诺塔规律总结口诀 汉诺塔规律公式

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。