这里解释一下为什么一天发的,但是却是一个二十,一个二十一,因为上一篇是我昨天写一半,得睡觉了,所以今天写完才发的。

菜鸟已经感觉手指扛不住了,所以更新完这篇得休息了,读者谅解,话不多说,冲冲冲

文章目录

  • 数学归纳法
    • 定义
    • 特点
    • 举例
      • 证明
    • 递归调用和数学归纳
    • 小结

数学归纳法

上次我们聊了迭代法及其应用,不过你知道吗,对于某些迭代问题,我们其实可以避免一步步的计算,直接从理论上证明某个结论,节约大量的计算资源和时间,这就是我们今天要说的数学归纳法

定义

在数论中,数学归纳法是用来证明任意一个给定的情形都是正确的,也就是说,第一个、第二个、第三个,一直到所有情形,概不例外。

数学归纳法的一般步骤是这样的:

证明基本情况(通常是n = 1 的时候)是否成立
假设n = k -1 成立,再证明n = k 也是成立的(k 为任意大于1的自然数)

特点

用迭代法的计算相比,数学归纳法最大的特点就在于 “ 归纳 ” 二字。它已经总结出了规律。只要我们能够证明这个规律是正确的,就没有必要进行逐步的推算,可以节省很多时间和资源。

举例

上节我们提到,在棋盘上放麦粒的规则是,第一格放一粒,第二格放两粒,以此类推,每一小格内都比前一小格多一倍的麦子,直至放满n个格子。这个时候,国王想知道总共需要多少粒麦子。

我们小时候都玩过 “ 找规律 ” ,你看看是不是这样?

根据这个观察,我们是不是可以大胆假设,前n个格子的麦粒总数就是 2n-1 呢?

对于类似这种无穷数列的问题,我们通常可以采用数学归纳法(Mathematical Induction)来证明。

证明

菜鸟感觉这根本不是重点,直接截图了,复制都懒得搞,其实感觉这一节没什么写的,其实知道数学归纳法是怎么个过程就好,难受,又被马扁子忽悠了一节课!

程序员的数学基础课 数学归纳法(自我提升第二十一天)相关推荐

  1. 程序员的数学基础课 二进制(自我提升第6天)

    文章目录 程序员的数学基础课 1.左移 2.右移 算数右移: 逻辑右移: 3.或 4.与 5.异或 小结: 程序员的数学基础课 基础思想一知识点: 1.明白2进制对于电脑的意义,首先请回答这个问题(菜 ...

  2. 【程序员的数学基础课-黄申】学习笔记 1-10

    博客内容来自--极客学园>程序员的数学基础课 现在数学在程序员的日常里重要性逐渐显现,但作者不建议去啃大学课本,可以先广度再深度. 作者每节课都用心总结截图如下,建议购买课程更新学习 01讲二进 ...

  3. 程序员的数学基础课之二进制

    本内容来自极客时间 程序员的数学基础课 文末黄申老师总结的笔记 什么是二进制? 十进制计数使用 10 作为基数,二进制使用 2 作为基数,二进制的数位就是 2^n 的形式. 计算机为什么使用二进制? ...

  4. 极客时间程序员的数学基础课_针对程序员和极客的10个很棒的礼物创意

    极客时间程序员的数学基础课 假期给程序员朋友和家人的一些礼物提示以及购买链接. 照片由freestocks.org在Unsplash上拍摄 大家好,又是一年中的某个时候,我们喜欢与家人和朋友共度时光, ...

  5. jsp标签 判断 余数_程序员的数学基础课(三)余数与迭代法

    问题:什么是余数 余数的作用? 余数在生活中非常常见,日历,日期,其中包含一个定理 同余定理. 同余定理:余数总是在一个固定的范围内,任意两个整数 a 和 b,如果它们除以正整数 m 得到的余数相等, ...

  6. 【程序员的数学基础课-黄申】学习笔记 11-20

    11讲树的深度优先搜索(上):如何才能高效率地查字典 树的组成和深度遍历方式 12讲树的深度优先搜索(下):如何才能高效率地查字典 配合栈进行遍历,大大节省内存 13讲树的广度优先搜索(上):人际关系 ...

  7. 程序员的数学之数学归纳法

  8. 程序员学数学读哪本书?(文末抽奖赠书)

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 在互联网一直流传了一个这样的段子-- "一流程序员靠数学 ...

  9. 程序员学数学读哪本书?(文末赠送精美礼品)

    关注我们丨文末赠书 在互联网一直流传了一个这样的段子-- "一流程序员靠数学,二流靠算法,三流靠逻辑,四流靠SDK,五流靠Google和StackOverFlow,六流靠百度和CSDN.低端 ...

最新文章

  1. CVPR目标检测与实例分割算法解析:FCOS(2019),Mask R-CNN(2019),PolarMask(2020)
  2. 【斗医】【18】Web应用开发20天
  3. 如何理解Transformer论文中的positional encoding,和三角函数有什么关系?
  4. Transform组件C#游戏开发快速入门
  5. C/C++ 电子书推荐
  6. vue语法 `${ }` (模版字符串)
  7. android的文件操作,Android文件操作概要1.ppt
  8. 面试题25: 合并两个排序的链表
  9. java concurrent 锁_java并发机制锁的类型和实现
  10. java 将换行代替_Java批量将文件中的段落替换成空格,根据指定分隔符换行(SQL示例)...
  11. C# DatatTable某一列是否有重复判断
  12. ASP.NET MVC中controller和view相互传值的方式
  13. 计算机英语讲课笔记07
  14. caffe+GAN︱PPGN生成模型5则官方案例(caffe版)
  15. asp.net窗体验证123
  16. JAVA中serialVersionUID可以使用hashCode()赋值
  17. ShadowGun Shader学习
  18. 网站微调是什么意思?能带来什么作用?
  19. Docker硬盘空间使用分析与清理
  20. SQLiteSpy执行Sql语句提示No such collation sequence : PhoneBook

热门文章

  1. html页面字迹模糊,css3字体可以模糊吗?
  2. 东北农业大学第九届程序设计竞赛 题解
  3. 《麦肯锡用人标准》学习笔记
  4. LeetCode 131. 分割回文串【字符串,回溯算法】
  5. linux物理硬盘和sd的对应关系_Linux 学习 --- 磁盘分区/关系+挂载+表示方法
  6. 抽象类,接口, final,选择排序
  7. Android之三种网络请求解析数据(最佳案例)
  8. 乘积最大【动态规划】
  9. CBW、CWDE、CDQ、CWD: 扩展指令
  10. Redis真的又小又快又持久吗