数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 7054|回复: 1

Hanoi tower(河内塔)问题

[复制链接]
发表于 2017-2-17 23:55 | 显示全部楼层 |阅读模式
  有三个杆子,一个杆子上从上到下有 n 个从小到大的环,要求将这些环逐步移动到

另一个杆子上,移动时大环不能放在小环上,问:最少要移动几次?


  设 n 个环从一个杆子移动到另一个杆子,最少要移动 a(n) 次

    现在考虑有 n+1 个环的问题。

    移动中,总是有一步要将最大的第 n+1 个环移到另一个杆子上。而在此之前,必须要

将在这最大环上面的 n 个环移走,移到第三根杆子上。移动这 n 个环,最少要 a(n) 次

然后移动 1 次,将最大的第 n+1 个环移到另一个杆子上。然后,还需要将在第三根杆子上

的 n 个环移动到最大的第 n+1 个环上面。移动这 n 个环,又最少要 a(n) 次。所以,n+1

个环最少要移动 a(n)+1+a(n) = 2a(n)+1 次


   也就是说,有递推公式: a(n+1) = 2a(n)+1 ,n=1,2,3,…

   下面,用数学归纳法证明:a(n) = 2^n-1 ,n=1,2,3,…

(1)当 n=1 时,最少要移动一次,a(1) = 2^1-1 = 1 ,结论显然成立。

(2)设已知对某个给定的正整数 n ,结论成立,有 a(n) = 2^n-1 ,下面看 n+1 时的情形:

    a(n+1) = 2a(n)+1 = 2×(2^n-1)+1 = 2^(n+1)-2+1 = 2^(n+1)-1 。

    可见,n+1 时结论也成立。

(3)所以,对任何正整数 n ,结论都成立。

发表于 2017-2-18 00:37 | 显示全部楼层
这个问题很早以前就解决了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2026-5-16 20:56 , Processed in 0.152240 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表