美文网首页
程序员的数学I

程序员的数学I

作者: 锅巴GG | 来源:发表于2016-02-13 22:48 被阅读71次

递归——自己定义自己2

  • 思考:和的定义

假设n为0以上的整数,使用递归的方式从0到n的整数之和。

  1. n=0时, S(n)=0
  2. n>1时,n=S(n-1) (n=1,2,3...)
    解析式 S(n)= n x (n+1) / 2 (高斯的断言)

斐波那契数列

  • 思考:有一种动物,TA出生2天后,就开始以每天1只的速度繁殖后代。假设第1天,有一只这样的动物(该动物刚出生,从第3天起繁殖后代)。问,到第11天,共有多少只?

思路,按顺序思考,找出规律。

  1. 第1天,只有1只动物
  2. 第2天,只有1只动物,还没有繁衍后代
  3. 第3天,第1天的1只动物,繁殖1个后代,合计2只
  4. 第4天,第1天的1只动物,又繁殖1个后代
    第3天出生的还没有开始繁殖,总共3只
  5. 第1天和第3天出生的2只动物各繁殖1个后代。
    第4天出生的1只动物还没繁殖后代,合计5只。
    进行归纳的时候,不用想着第n天几只,可以如下思考:
  • 第n-1天出生的动物,在第n天还活着
  • 第n-2天以前出生的动物,在第n天后会繁殖1个后代
  • 总结出递推公式:
    若设第n天的动物总数为F(n),则
    F(n)=F(n-1)+F(n-2)
    第n天的动物数 = 第n-1天前的动物数 + 第n-2天前出生的动物数
    在这里,为了让等式成立(即让n=2时,公式成立),定义F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)
    由此,我们可以推断出:
    F(0) = 0
    F(1) = 1
    F(2) = F(1) + F(0) = 1 + 0 = 1
    F(3) = F(2) + F(1) = 1 + 1 = 2
    F(4) = F(3) + F(2) = 2 + 1 = 3
    F(5) = F(4) + F(3) = 3 + 2 = 5
    ...
    F(11) = F(10) + F(9) = 55 + 34 = 89
  • 问题中出现的数列:
    0,1,1,2,3,4,5,13,18,21,34,55,89, ...
    是在13世纪由数学家斐波那契发现的,因此称为斐波那契数列

斐波那契数列是非常优美的,用它出现的变形非常多,我找了几个利用TA作的图:

斐波那契数列作图 斐波那契螺旋 自然界的斐波那契

帕斯卡三角形

这个用文字描述非常累赘,公式不太好表达,因为简书不支持LaTex,所以就不写了。

杨辉三角形: 除每行最左侧与最右侧的数字以外,每个数字等于它的左上方与右上方两个数字之和:

初始 加好之后 杨辉三角形

思考题:

  1. 递归形式画一棵树
  2. 谢尔平斯基三角形

总结,把握结构是“分解”整个问题的突破口

相关文章

  • 《程序员的数学I》

    简书不支持LaTex... 余数 周期性和分组 思考:奇数和偶数 奇数是被2除余1的整数偶数是被2整除(余0)的...

  • 程序员的数学I

    排列组合 I 解决计数问题的方法 计数——与整数的对应关系 计数就是计数对象和整数的对应起来的过程,注意两点:遗漏...

  • 程序员的数学I

    数序归纳法——如何征服无穷序列 高斯求和 思考题——存钱罐里的钱 第1天,往存钱罐里投入1元,存钱罐总金额为1元第...

  • 程序员的数学I

    递归——自己定义自己 GNU是什么的缩写?“GNU is Not Unix”这里面的GNU又是什么的缩写?“GNU...

  • 程序员的数学I

    排列组合II 思考:从5张牌中任意取出3张进行排列(permutation),请问有多少种排列方法? 排列和置换相...

  • 程序员的数学I

    递归——自己定义自己2 思考:和的定义 假设n为0以上的整数,使用递归的方式从0到n的整数之和。n=0时, S(n...

  • Atitit 程序员的数学艾提拉读后感 1.1.程序员的数

    Atitit 程序员的数学艾提拉读后感 [if !supportLists]1.1.[endif]程序员的数学 第...

  • 一份必不可少的程序员“内功”书单

    含PDF下载链接,后期持续更新 大话设计模式 大话数据结构 代码整洁之道 程序员的数学1-数学思维 程序员的数学2...

  • 《程序员的数学》轻松掌握“数学思维”,附下载链接

    对于程序员来说,数学很重要吗?如果数学不好,是否可以成为一名程序员呢?答案是肯定的。 不可否认,行业中许多程序员,...

  • 书单

    《3D数学基础》《代码大全2》《CLR Via C#》《程序员的数学》

网友评论

      本文标题:程序员的数学I

      本文链接:https://www.haomeiwen.com/subject/gpgukttx.html