归纳法、递推法.pptVIP

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
归纳法 例1、 Hanoi双塔问题    07年复赛试题 例2、乘火车(98年复赛试题) 练习1、 练习2 练习3 练习4 递推法 练习1 (2000年初赛试题) 练习2(2000年初赛试题) 练习3 练习4 练习5 练习6 练习7 练习8 例1、国王与麦子 例2、过河卒 例3、 Hanoi双塔问题 (07年复赛题) 输入文件hanoi.in为一个正整数n,表示在A柱上放有2n个圆盘。 输出文件hanoi.out仅一行,包含一个正整数,为完成上述任务所需的最少移动次数An。 【样例1】 2 1 hanoi.out hanoi.in 【样例2】 6 2 hanoi.out hanoi.in 【限制】 对于50%的数据,1=n=25 对于100%的数据,1=n=200 【提示】 设法建立An与An-1的递推关系式。 解题思路: 递推+高精度 1. 假设当前要移动A轴的N层,即2N个盘子,则需要将N-1层的2N-2个盘子移动到B轴(辅助轴)上,再将第N层的2个盘子移动到C轴上(目标轴),然后再将那N-1层的2N-2个盘子移动到目标轴,共需要2f(n-1)+2次。 2. 递推关系式是: f(n):=2*f(n-1)+2          f(0):=0 * * 归纳法是由一系列有限的特殊事例得出一般规律的推理方法。 例、求前n个奇数的和。 分析:用S(n)表示前n个数的和,则 S(1)=1, S(2)=1+3=4, S(3)=1+3+5=9, S(4)=1+3+5+7=16, S(5)=1+3+5+7+9=25。 可以看出,当1,2,3,4,5时, S(n)= n2。现在可以归纳出求前n个奇数的和的一般规律,即S(n)= n2。 上面的归纳法是不完全归纳法,因为由它得到的结论不一定对任意的n都 成立. 要证明对所有的n都成立,就必须使用下面介绍的数学归纳法. 1、证明当n取第一个值n0时结论正确。 2、假设当n=k时结论成立,证明当n=k+1时结论也成立。 证明: 1、当n=1时,左边=1,右边=1,等式成立。 2、假设当n=k时等式成立,即1+3+5+…+(2k-1)=k2 ,那么 1+3+5+…+(2k-1)+[2(k+1)-1] =k2+ 2(k+1)-1 =k2+ 2k+1 =(k+1)2 给定A、B、C三根足够长的细柱,在A柱上放有2n个中 间有孔的圆盘,共有n个不同的尺寸,每个尺寸都有两个相同的圆盘,注意这两个圆盘是不加区分的(下图为n=3的情形)。现要将这些圆盘移到C柱上,在移动过程中可放在B柱上暂存。要求: (1)每次只能移动一个圆盘; (2)A、B、C三根细柱上的圆盘都要保持上小下大的顺序; 任务:设An为2n个圆盘完成上述任务所需的最少移动次数,对于输入的n,输出An。 输入文件hanoi.in为一个正整数n,表示在A柱上放有2n个圆盘。 输出文件hanoi.out仅一行,包含一个正整数,为完成上述任务所需的最少移动次数An。 【样例1】 2 1 hanoi.out hanoi.in 【样例2】 6 2 hanoi.out hanoi.in 【限制】 对于50%的数据,1=n=25 对于100%的数据,1=n=200 【提示】 设法建立An与An-1的递推关系式。 解题思路: 数学归纳+高精度 Hanoi单塔的最少移动步数是2 n - 1,现在有2层,可以将2层看作1层,便回到了单塔的问题上,每移动想象中的“单个”盘子需要两步,故Hanoi双塔=Hanoi单塔*2 可得公式:f(n)=2 n+1 - 2 高精度只要编个乘法就可以了,不要忘记最后-2 begin assign(input,hanoi.in); assign(output,hanoi.out); reset(input); rewrite(output); readln(n); ppp(n+1); if a[1]=2 then a[1]:=a[1]-2 else begin a[1]:=a[1]+8; a[2]:=a[2]-1; end;

文档评论(0)

qbjzmxj5904 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档