数学思想:4、数学归纳法

数学归纳法


什么是数学归纳法

对于某些使用迭代法或者递归的代码,验证的时候可以避免一步步的计算,直接从理论上证明某个结论,节约大量的计算资源和时间,这就是数学归纳法。

数学归纳法的步骤
  1. 证明基本情况(通常是 n = 1 的时候)是否成立
  2. 假设n = k - 1 成立,再证明 n = k 也是成立的(k 为任意大于1的自然数)
数学归纳和递归的关系

递归调用的代码和数学归纳法的逻辑是一致的,只要证明数学归纳法的逻辑是对的,递归调用的逻辑就是对的,没必要纠结递归函数是如何嵌套调用和返回的

数学归纳法最大的特点就是在于归纳。它已经总结出了规律。只要能证明这个规律是正确的,就没必要进行逐步的推算,节省了很多时间还和资源

练习

  1. 背景

    古印度国王舍罕酷爱下棋,他打算重赏国际象棋的发明人宰相西萨·班·达依尔。这位聪明的大臣指着象棋盘对国王说:“陛下,我不要别的赏赐,请您在这张棋盘的第一个小格内放入一粒麦子,在第二个小格内放入两粒,第三小格内放入给四粒,以此类推,每一小格内都比前一小格加一倍的麦子,直至放满 64 个格子,然后将棋盘上所有的麦粒都赏给您的仆人我吧!”
    结果:从第一格到第8格的麦子分别是:1、2、4、8、16、24、32、64、128 、…

  2. 分析
    在这里插入图片描述
    得出来的命题

    • 第n格的麦粒数是 2 n − 1 2^{n-1} 2n1
    • 前n个棋格订单麦粒总数和为 2 n 2^n 2n -1
证明
命题1证明
  • 当n = 1 的时候,麦粒数:1,因此命题在n-1成立
  • 当n = k - 1 时, k - 1格的麦粒数为 2 k − 2 2^{k-2} 2k2, 那么第k格的麦粒数为第k-1格的2倍,也就是 2 k − 2 2^{k-2} 2k2*2 = 2 k − 1 2^{k-1} 2k1 因此命题在n=k-1成立,也就是n=k的时候也成立
命题2证明
  • 当n = 1 的时候,所有格子的麦粒总数为1,因此命题在n = 1的时候成立
  • 当n = k - 1 的时候,前k - 1 格的麦粒总数为2k-1-1,基于前一个命题的结论,第k格的麦粒数为2k-1。那么前k格的麦粒总数为(2k-1 -1)+(2k-1) = 2*2k-1-1= 2 k 2^k 2k-1 = 2 k 2^k 2k -1

图片引用于 极客时间–>黄申

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值