程序员的数学I

2016-02-13  本文已影响71人  锅巴GG

递归——自己定义自己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 (高斯的断言)

斐波那契数列

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

  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

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

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

帕斯卡三角形

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

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

初始 加好之后 杨辉三角形

思考题:

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

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

上一篇 下一篇

猜你喜欢

热点阅读