递归之斐波那契数列

在数学上,費波那契數列是以递归的方法來定义:

  • F_0=0
  • F_1=1
  • F_n = F_{n-1}+ F_{n-2}(n≧2)

用文字來说,就是斐波那契数列由0和1开始,之後的斐波那契数列就由之前的兩数相加。

这也是从维基百科上摘来的表述,比较的专业点。那个简单的写一下前面的几个是:

0,1,1,2,3,5,8,13,21,34,55,89,144,233......

这个也是成一个指数增长的现象,所以兔子要是都按这个节奏生长,那就天天有肉吃了,还便宜!!!

这个问题相对与汉诺塔问题,较我而且,斐波那契数列一目了然,比较的好理解。

下面就用Ptyhon来实现一下:

def fib(x):
    assert type(x) == int and x >= 0
    if x == 0 or x == 1:
        return 1
    else:
        return fib(x-1) + fib(x-2)

只能说Python几行代码搞定。

你可能感兴趣的:(★语言,------【Python】)