河内塔递归问题

河内塔递归问题(具体数学)

首先我们先来看一道精巧的智力题,它是由法国数学家于1883年发明的,给定一个由8个圆盘组成的塔,这些圆盘按照大小递减的方式套在三根桩柱的一根上

如图:在这里插入图片描述
问题来了,规定:每次只能挪动一个圆盘,且较大的圆盘在移动过程中不能放在较小的圆盘上,目的:将整个塔移动到另一根柱子
上。

首先可以先思考一下最好的解法是什么,即要完成移动所需要做的最基本的操作:

1.简化问题

不妨设想一下简单的情况:如果只有3个盘子,那么移动立即就变得十分
明朗,

将上面两个圆盘分别移到一个柱子上,需要三步,
在这里插入图片描述

再将最后一个圆盘移到空的柱子上,需要一步,最后重复开始的方法将最开始叠起来的圆盘移到第三个圆盘上,如此便形成了一种行为规律,
即:假设有n个盘子,那么全部移开就需要Tn次将除开最下面的盘子全部移开需要Tn-1次,移动最下面的盘子总共需要1次所以得出:

Tn=2Tn-1+1

有兴趣可以用程序来实现一下这个递归的算法,哪怕不会网上相关代码也很多,就不列举了,不过要说一说他的归纳运算,这样对以后写这方面的编程问题我感觉还是比较有帮助的,

在两边同时加1便可以得出
T0+1=1
Tn+1 = 2Tn-1+2

假设Tn-1+1=U0

则可以用归纳法:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值