• 正在加载中...
  • 斐波那契数列

    斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列、费波那西数列、费波拿契数、费氏数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*),用文字来说,就是斐波那契数列列由 0 和 1 开始,之后的斐波那契数列系数就由之前的两数相加。特别指出:0不是第一项,而是第零项。在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1960年代起出版了《斐波纳契数列》季刊,专门刊载这方面的研究成果。

    编辑摘要

    基本信息 编辑信息模块

    中文名称: 斐波那契数列 外文名: Fibonacci sequence
    别称: 黄金分割数列、兔子数列 表达式: F[n]=F[n-1]+F[n-2](n>=3,F[1]=1,F[2]=1)
    提出者: 列昂纳多·斐波那契 提出时间: 1202年
    应用学科: 数学 适用领域范围: 代数等多个领域
    c语言中: FIB数列

    目录

    通项公式/斐波那契数列 编辑

    递推公式

    斐波那契数列:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...

    如果设F(n)为该数列的第n项(n∈N*),那么这句话可以写成如下形式:

    显然这是一个线性递推数列。

    通项公式

    斐波那契数列斐波那契数列

    (如上,又称为“比内公式”,是用无理数表示有理数的一个范例。)

    斐波那契数列斐波那契数列

    注:此时

    通项公式推导

    斐波那契数列斐波那契数列

    线性递推数列的特征方程为:

    解得

    .

    解得

    方法二:待定系数法构造等比数列1(初等代数解法)

    斐波那契数列斐波那契数列

    设常数

    .

    斐波那契数列斐波那契数列

    使得

    斐波那契数列斐波那契数列

    斐波那契数列斐波那契数列

    时,有

    斐波那契数列斐波那契数列
    斐波那契数列斐波那契数列
    斐波那契数列斐波那契数列

    ……

    斐波那契数列斐波那契数列

    联立以上n-2个式子,得:

    斐波那契数列斐波那契数列
    斐波那契数列斐波那契数列

    上式可化简得:

    斐波那契数列斐波那契数列

    那么

    斐波那契数列斐波那契数列
    斐波那契数列斐波那契数列
    斐波那契数列斐波那契数列

    ……

    斐波那契数列斐波那契数列
    斐波那契数列斐波那契数列
    斐波那契数列斐波那契数列

    (这是一个以

    为首项、以

    为末项、

    为公比的等比数列的各项的和)。

    斐波那契数列斐波那契数列
    斐波那契数列斐波那契数列
    斐波那契数列斐波那契数列

    的解为

    斐波那契数列斐波那契数列

    方法三:待定系数法构造等比数列2(初等代数解法)

    已知a1=1,a2=1,an=a(n-1)+a(n-2)(n>=3),求数列{an}的通项公式。

    解 :设an-αa(n-1)=β(a(n-1)-αa(n-2))。

    得α+β=1。

    αβ=-1。

    构造方程x^2-x-1=0,解得α=(1-√5)/2,β=(1+√5)/2或α=(1+√5)/2,β=(1-√5)/2。

    所以。

    an-(1-√5)/2*a(n-1)=(1+√5)/2*(a(n-1)-(1-√5)/2*a(n-2))=[(1+√5)/2]^(n-2)*(a2-(1-√5)/2*a1)`````````1。

    an-(1+√5)/2*a(n-1)=(1-√5)/2*(a(n-1)-(1+√5)/2*a(n-2))=[(1-√5)/2]^(n-2)*(a2-(1+√5)/2*a1)`````````2。

    由式1,式2,可得。

    an=[(1+√5)/2]^(n-2)*(a2-(1-√5)/2*a1)``````````````3。

    an=[(1-√5)/2]^(n-2)*(a2-(1+√5)/2*a1)``````````````4。

    将式3*(1+√5)/2-式4*(1-√5)/2,化简得an=(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}。

    方法四:母函数法。

    对于斐波那契数列{a(n)},有a(1)=a(2)=1,a(n)=a(n-1)+a(n-2)(n>2时)

    令S(x)=a(1)x+a(2)x^2+……+a(n)x^n+……。

    那么有S(x)*(1-x-x^2)=a(1)x+[a(2)-a(1)]x^2+……+[a(n)-a(n-1)-a(n-2)]x^n+……=x

    .因此S(x)=x/(1-x-x^2).

    不难证明1-x-x^2=-[x+(1+√5)/2][x+(1-√5)/2]=[1-(1-√5)/2*x][1-(1+√5)/2*x].

    因此S(x)=(1/√5)*{x/[1-(1+√5)/2*x]-x/[1-(1-√5)/2*x]}.

    再利用展开式1/(1-x)=1+x+x^2+x^3+……+x^n+……

    于是就可以得S(x)=b(1)x+b(2)x^2+……+b(n)x^n+……

    其中b(n)=(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}.

    因此可以得到a(n)=b(n)==(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}

    黄金分割/斐波那契数列 编辑

    与黄金分割的关系

    有趣的是:这样一个完全是自然数的数列,通项公式却是用无理数来表达的。而且当n趋向于无穷大时,后一项与前一项的比值越来越逼近黄金分割0.618.(或者说后一项与前一项的比值小数部分越来越逼近黄金分割0.618、前一项与后一项的比值越来越逼近黄金分割0.618)

    1÷1=1,2÷1=2,3÷2=1.5,5÷3=1.666...,8÷5=1.6,…………,89÷55=1.6181818…,…………233÷144=1.618055…75025÷46368=1.6180339889…...

    越到后面,这些比值越接近黄金比.

    与黄金分割的证明

    a[n+2]=a[n+1]+a[n]。

    两边同时除以a[n+1]得到:

    a[n+2]/a[n+1]=1+a[n]/a[n+1]。

    若a[n+1]/a[n]的极限存在,设其极限为x,

    则lim[n->;;∞](a[n+2]/a[n+1])=lim[n->;;∞](a[n+1]/a[n])=x。

    所以x=1+1/x。

    即x²=x+1。

    所以极限是黄金分割比..

    相关特性/斐波那契数列 编辑

    平方与前后项

    从第二项开始,每个奇数项的平方都比前后两项之积少1,每个偶数项的平方都比前后两项之积多1。

    如:第二项1的平方比它的前一项1和它的后一项2的积2少1,第三项2的平方比它的前一项1和它的后一项3的积3多1。

    (注:奇数项和偶数项是指项数的奇偶,而并不是指数列的数字本身的奇偶,比如从数列第二项1开始数,第4项5是奇数,但它是偶数项,如果认为5是奇数项,那就误解题意,怎么都说不通)

    证明经计算可得:[f(n)]^2-f(n-1)f(n+1)=(-1)^(n-1)

    与集合子集

    斐波那契数列的第n+2项同时也代表了集合{1,2,...,n}中所有不包含相邻正整数的子集个数。

    求和

    斐波那契数列斐波那契数列

    奇数项求和

    斐波那契数列斐波那契数列

    偶数项求和

    斐波那契数列斐波那契数列

    平方求和

    斐波那契数列斐波那契数列

    加减求和

    斐波那契数列斐波那契数列

    和项数公式

    斐波那契数列斐波那契数列

    奇数项与某两项的平方

    斐波那契数列斐波那契数列

    偶数项与某两项的平方

    斐波那契数列斐波那契数列

    隔项关系

    斐波那契数列斐波那契数列

    f(2n-2m-2)[f(2n)+f(2n+2)]=f(2m+2)+f(4n-2m) [ n〉m≥-1,且n≥1]

    两倍项关系

    f(2n)/f(n)=f(n-1)+f(n+1)

    推广/斐波那契数列 编辑

    斐波那契—卢卡斯数列

    卢卡斯数列1、3、4、7、11、18…,也具有斐波那契数列同样的性质。(我们可称之为斐波那契—卢卡斯递推:从第三项开始,每一项都等于前两项之和f(n) = f(n-1)+ f(n-2)。

    卢卡斯数列的通项公式为 f(n)=[(1+√5)/2]^n+[(1-√5)/2]^n

    这两个数列还有一种特殊的联系(如下表所示),F(n)*L(n)=F(2n),及L(n)=F(n-1)+F(n+1)

    n
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    斐波那契数列F(n)
    1
    1
    2
    3
    5
    8
    13
    21
    34
    55
    卢卡斯数列L(n)
    1
    3
    4
    7
    11
    18
    29
    47
    76
    123
    F(n)*L(n)
    1
    3
    8
    21
    55
    144
    377
    987
    2584
    6765

    类似的数列还有无限多个,我们称之为斐波那契—卢卡斯数列。

    如1,4,5,9,14,23…,因为1,4开头,可记作F[1,4],斐波那契数列就是F[1,1],卢卡斯数列就是F[1,3],斐波那契—卢卡斯数列就是F[a,b]。

    斐波那契—卢卡斯数列之间的广泛联系

    ①任意两个或两个以上斐波那契—卢卡斯数列之和或差仍然是斐波那契—卢卡斯数列。

    如:F[1,4]n+F[1,3]n=F[2,7]n,F[1,4]n-F[1,3]n=F[0,1]n=F[1,1](n-1),

    n
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    F[1,4]n
    1
    4
    5
    9
    14
    23
    37
    60
    97
    157
    F[1,3]n
    1
    3
    4
    7
    11
    18
    29
    47
    76
    123
    F[1,4]n-F[1,3]n
    0
    1
    1
    2
    3
    5
    8
    13
    21
    34
    F[1,4]n+F[1,3]n
    2
    7
    9
    16
    25
    41
    66
    107
    173
    280

    ②任何一个斐波那契—卢卡斯数列都可以由斐波那契数列的有限项之和获得,如

    n
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    F[1,1](n)
    1
    1
    2
    3
    5
    8
    13
    21
    34
    55
    F[1,1](n-1)
    0
    1
    1
    2
    3
    5
    8
    13
    21
    34
    F[1,1](n-1)
    0
    1
    1
    2
    3
    5
    8
    13
    21
    34
    F[1,3]n
    1
    3
    4
    7
    11
    18
    29
    47
    76
    123

    黄金特征与孪生斐波那契—卢卡斯数列

    斐波那契—卢卡斯数列的另一个共同性质:中间项的平方数与前后两项之积的差的绝对值是一个恒值,

    斐波那契数列:|1*1-1*2|=|2*2-1*3|=|3*3-2*5|=|5*5-3*8|=|8*8-5*13|=…=1

    卢卡斯数列:|3*3-1*4|=|4*4-3*7|=…=5

    F[1,4]数列:|4*4-1*5|=11

    F[2,5]数列:|5*5-2*7|=11

    F[2,7]数列:|7*7-2*9|=31

    斐波那契数列这个值是1最小,也就是前后项之比接近黄金比例最快,我们称为黄金特征,黄金特征1的数列只有斐波那契数列,是独生数列。卢卡斯数列的黄金特征是5,也是独生数列。前两项互质的独生数列只有斐波那契数列和卢卡斯数列这两个数列。

    而F[1,4]与F[2,5]的黄金特征都是11,是孪生数列。F[2,7]也有孪生数列:F[3,8]。其他前两项互质的斐波那契—卢卡斯数列都是孪生数列,称为孪生斐波那契—卢卡斯数列。

    广义斐波那契数列

    斐波那契数列的黄金特征1,还让我们联想到佩尔数列:1,2,5,12,29,…,也有|2*2-1*5|=|5*5-2*12|=…=1(该类数列的这种特征值称为勾股特征)。

    佩尔数列Pn的递推规则:P1=1,P2=2,Pn=P(n-2)+2P(n-1).

    据此类推到所有根据前两项导出第三项的通用规则:f(n) = f(n-1) * p + f(n-2) * q,称为广义斐波那契数列。

    当p=1,q=1时,我们得到斐波那契—卢卡斯数列。

    当p=1,q=2时,我们得到佩尔—勾股弦数(跟边长为整数的直角三角形有关的数列集合)。

    当p=2,q=-1时,我们得到等差数列。其中f1=1,f2=2时,我们得到自然数列1,2,3,4…。自然数列的特征就是每个数的平方与前后两数之积的差为1(等差数列的这种差值称为自然特征)。

    具有类似黄金特征、勾股特征、自然特征的广义——斐波那契数列p=±1。

    当f1=1,f2=2,p=2,q=0时,我们得到等比数列1,2,4,8,16……

    程序编辑/斐波那契数列 编辑

    利用这一点,可以用程序编出时间复杂度仅为O(log n)的程序。

    怎样实现呢?伪代码描述一下

    VB语言程序

    '**************************************************************

    '***函数功能:利用递归思想,求解第n项斐波那契数列的值

    '***函数名:Fbnq

    '***输入值:n

    '***输入值意义:斐波那契数列的项数

    '***返回值:第n项的值

    '***时间:2013-01-26 18:46

    '***版本:1.0

    '**************************************************************

    Function Fbnq(n As Integer) As Long '定义函数Fbnq,整型参数n表示要输出第几项,返回第n项的值(长整型数据)

    Select Case n '对参数进行筛选

    Case Is <= 0 '如果n不是自然数

    Fbnq = 0 '返回0

    Case 1, 2 '如果是第一第二项

    Fbnq = 1 '返回1

    Case Else '对于第二项以后的

    Fbnq = Fbnq(n - 1) + Fbnq(n - 2) '调用递归 ,返回前两项的和

    End Select '结束筛选

    DoEvents '防止程序崩溃而释放系统控制权

    End Function '函数到此结束

    PB语言程序

    int li_a,li_b,li_c,i

    string ls_print = '~n'

    li_b = 1

    for i = 1 to 20

    li_c = li_a + li_b

    li_a = li_b

    li_b = li_c

    ls_print += "~n" + string(li_c)

    next

    messagebox("斐波那契数列","前20:"+ls_print)

    C语言程序

    //利用循环输出前40项

    #include

    int main()

    {

    long fib = {0,1};

    int i;

    for (i=2;i<41;i++) fib[i] = fib[i-1]+fib[i-2];

    for (i=1;i<41;i++) printf("F%d==%d\n",i,fib[i]);

    getch();

    return 0;

    }

    //利用递归实现指定项输出

    第n项和。

    long fib(int n)

    {

    if (n==0) return 0;

    if (n==1) return 1;

    if (n>1) return fib(n-1)+fib(n-2);

    }

    int main()

    {

    int k=1;

    while(k!=0)

    {

    puts("input a num n 0 for exit");

    scanf("%d",&k);

    printf("%ld\n",fib(k));

    }

    getch();

    return 0;

    }

    //高精度斐波那契数列(3000长度的可求到第10000多项)

    #include

    #include

    using namespace std;

    int a={};

    int b={};

    int c={};

    int n;

    int main()

    {

    scanf("%d",&n);

    if(n<3)

    {printf("%d\n",n);

    return 0;}

    c=2;

    b=1;

    for(int i=1;i<=n-2;i++)

    {for(int j=1;j<=3000;j++)

    {a[j]=b[j];

    b[j]=c[j];

    c[j]=0;}

    for(int j=1;j<=3000;j++)

    {c[j]=c[j]+a[j]+b[j];

    if(c[j]>=10)

    {c[j]=c[j]-10;

    c[j+1]=1;}

    }

    }

    int i=3000;

    while(c[i]==0) i--;

    for(i=i;i>=1;i--)

    printf("%d",c[i]);

    printf("\n");

    system("pause");

    return 0;

    }

    C#语言程序

    public class Fibonacci

    {

    //NormRen

    static void Main(string[] args)

    {

    int x = 0,y = 1;

    for (int j = 1; j < 10; j++,y = x + y,x = y - x)

    Console.Write(y + " ");

    }

    }

    Java语言程序

    /*

    快速计算第n个Java程序,一秒计算第10万个数字。

    Intel Core2 Duo CPU P8600 2.4GHz 计算第100000个斐波那契数列的数所花时间(毫秒):

    第100000:967.8 981.1 988.8 966.3 994.4

    */

    public class Fib {

    //n为第n个斐波那契数列的数

    public static BigInteger compute2(int n) {

    if (n == 1 || n == 2) {

    return BigInteger.ONE;

    }

    BigInteger num1 = BigInteger.ONE;

    BigInteger num2 = BigInteger.ONE;

    BigInteger result = BigInteger.ZERO;

    for (int i = 2; i < n; i++) {

    result = num1 .add(num2);

    num2 = num1;

    num1 = result;

    }

    return result;

    }

    }

    public class Fibonacci

    {

    public static void main(String[] args)

    {

    int x=1,y=1;

    System.out.println(x+" ");

    for(int i=1;i<=20;i++)

    {

    System.out.println(y+" ");

    y=x+y;x=y-x;

    }

    }

    }

    Java语言程序(高精度,约一秒钟计算第20000个数值)

    import java.util.Scanner;

    public class Main{

    public static void main(String[] args){

    Scanner s=new Scanner;

    int n=s.nextInt();

    do{

    cul(n);

    n=s.nextInt();

    }while(n>0);//当n<=0时终止

    }

    private static void cul(int n) {

    BigIntT b=new BigIntT();

    BigIntT a=new BigIntT();

    b.formatBigInt("1");

    a.formatBigInt("2");

    if(n==1 || n==2) {

    System.out.println⑴;

    return;

    }

    int i=3;

    for(;i<=n;i++){

    if(i%2>0)

    b.add(a);

    else

    a.add(b);

    }

    BigIntT t=null;

    if(i%2>0) t=b;

    else t=a;

    for(int j=t.getPos();j<100000;j++)

    System.out.print(t.getBase(j));

    System.out.println();

    }

    }

    class BigIntT{

    int max=100000;

    private byte[] base=new byte[max];

    private int pos=max;

    public void formatBigInt(String arr){

    int l=arr.length();

    if(l==0) return;

    int tmp=l-1;

    for(int i=max-1;i>=max-l;i--){

    base[i]=(byte) (arr.charAt(tmp--)-'0');

    pos--;

    }

    }

    public void add(BigIntT right) {

    int bigger=this.getPos()>right.getPos()?right.getPos():this.getPos();

    pos=bigger;

    for(int i=max-1;i>=pos-2;i--){

    int t=this.base[i]+right.getBase(i);

    if(t>=10){

    this.base[i]=(byte) (t%10);

    this.base[i-1]+=t/10;

    if(i-1

    }else{

    this.base[i]=(byte) t;

    }

    }

    }

    public int getPos(){

    return pos;

    }

    public byte getBase(int index){

    return base[index];

    }

    }

    JavaScript语言程序

    function Fibonacci(num){

    if(num <= 2){

    return 1;

    }else{

    return Fibonacci(num - 1) + Fibonacci(num - 2)

    }

    }

    递归写法

    function fib(n) {

    var fib_n = function(curr, next, n) {

    if (n === 0) {

    return curr;

    } else {

    return fib_n(next, curr+next, n-1);

    }

    }

    return fib_n(0, 1, n);

    }

    alert(fib(40));

    Pascal语言程序

    递推:

    var

    b: array[1..40]of longint;

    i: integer;

    begin

    b := 1;

    b := 1;

    for i:=3 to 40 do

    b[i ] := b[i-1] + b[i-2];

    for i:=1 to 40 do

    write(b[i],' ');

    end.

    递归:

    function fib(n:integer):longint;

    begin

    if (n=1) then exit(0);

    if (n=2) then exit⑴;

    fib:=fib(n-2)+fib(n-1);

    end;

    高精度:

    program fzu1060;

    type arr=array[0..1001]of integer;

    var a,b,c:arr;

    i,j,k,n:integer;

    procedure add(var a,b,c:arr);

    begin

    fillchar(c,sizeof(c),0);

    c:=b;

    for i:=1 to c do

    c[i]:=a[i]+b[i];

    for i:=1 to c do

    begin

    c[i+1]:=c[i+1]+(c[i] div 10);

    c[i]:=c[i] mod 10;

    end;

    if c[c+1]>0 then

    begin

    inc(c);

    inc(c[c+1],c[c] div 10);

    c[c]:=c[c] mod 10;

    end;

    a:=b; b:=c;

    end;

    begin

    assign(input,'d:\input.txt');

    assign(output,'d:\output.txt');

    reset(input);

    rewrite(output);

    while not eof do

    begin

    readln(n);

    fillchar(a,sizeof(a),0);

    fillchar(b,sizeof(b),0);

    a:=1; a:=1;

    b:=1; b:=1;

    if n=1 then write⑴

    else

    if n=2 then write⑴

    else

    begin

    for k:=3 to n do

    add(a,b,c);

    for k:=c downto 1 do

    write(c[k]);

    end;

    writeln;

    end;

    close(input);

    close(output);

    end.

    以上程序为 FZU 1060 的标程。

    PL/SQL程序

    declare i number :=0;

    j number :=1;

    x number :=1;

    begin

    while x<1000

    loop

    dbms_output.put_line(x);

    x:=i+j;

    i:=j;

    j:=x;

    end loop;

    end;

    【Python程序】

    # 方法一

    def fibonacci(num):

    if num <= 2:

    f = 1

    else:

    f=fibonacci(num-1) + fibonacci(num - 2)

    return f

    例用递归方法的计算到第四十项左右,速度就明显变的缓慢,在python中建议采用列表保存前两项的方式进行计算。

    def fib(x):

    l=[]

    for i in range(x+1):

    if i==0:

    continue

    elif i==1:

    l.append(0)

    elif i==2:

    l.append(1)

    else:

    l.append(l[i-2]+l[i-3])

    return l

    #方法二

    import math

    def fibonacci1(num):

    f = (((math.sqrt⑸ + 1)/2) ** num - ((math.sqrt⑸ - 1)/2) ** num)/math.sqrt⑸

    f = round(f,1)

    if f - int(f) > 0:

    f = int(f) + 1

    else :

    f = int (f)

    return f

    【Matlab程序】

    function f=fibonacci(n)

    p = (1-sqrt⑸)/2 ;

    q = (1+sqrt⑸)/2 ;

    n=1:n;

    f =q.^(n-2)*(1-p).*(1-(p/q).^(n-1))./(1-p/q)+p.^(n-1);

    GO语言程序

    package main

    import "fmt"

    import "strconv"

    import "os"

    func fib(n int) (ret int) {

    var b int

    if n <3 && n >=0 {

    return 1

    } else {

    b = fib(n-1) + fib(n-2)

    return b

    }

    return

    }

    func main() {

    fmt.Println("fib(4) =:",fib(4))

    fmt.Println("fib(5) =:",fib(5))

    fmt.Println("fib(6) =:",fib(6)) //(6-1)+(6-2)=

    fmt.Println("fib(7) =:",fib(7))

    fmt.Println("fib(8) =:",fib(8))

    if len(os.Args) > 1 {

    if b , err := strconv.Atoi(os.Args); err == nil {

    fmt.Println("fib(",os.Args,") =:" ,fib(b))

    }

    }

    }

    利用矩阵的实现

    时间效率:O(logn),比模拟法O(n)远远高效。

    代码(PASCAL)

    {变量matrix是二阶方阵,matrix是矩阵的英文}

    program fibonacci;

    type

    matrix=array[1..2,1..2] of qword;

    var

    c,cc:matrix;

    n:integer;

    function multiply(x,y:matrix):matrix;

    var

    temp:matrix;

    begin

    temp[1,1]:=x[1,1]*y[1,1]+x[1,2]*y[2,1];

    temp[1,2]:=x[1,1]*y[1,2]+x[1,2]*y[2,2];

    temp[2,1]:=x[2,1]*y[1,1]+x[2,2]*y[2,1];

    temp[2,2]:=x[2,1]*y[1,2]+x[2,2]*y[2,2];

    exit(temp);

    end;

    function getcc(n:integer):matrix;

    var

    temp:matrix;

    t:integer;

    begin

    if n=1 then exit(c);

    t:=n div 2;

    temp:=getcc(t);

    temp:=multiply(temp,temp);

    if odd(n) then exit(multiply(temp,c))

    else exit(temp);

    end;

    procedure init;

    begin

    readln(n);

    c[1,1]:=1;

    c[1,2]:=1;

    c[2,1]:=1;

    c[2,2]:=0;

    if n=1 then

    begin

    writeln⑴;

    halt;

    end;

    if n=2 then

    begin

    writeln⑴;

    halt;

    end;

    cc:=getcc(n-2);

    end;

    procedure work;

    begin

    writeln(cc[1,1]+cc[1,2]);

    end;

    begin

    init;

    work;

    end.

    数列值的另一种求法:

    F(n) = [ (( sqrt ( 5 ) + 1 ) / 2) ^ n ]

    其中[ x ]表示取距离 x 最近的整数。

    前若干项/斐波那契数列 编辑

    ⑴1

    ⑵1

    ⑶2(1+1)

    ⑷3(1+2)

    ⑸5(2+3)

    ⑹8(3+5)

    ⑺13(5+8)

    ⑻21(8+13)

    ⑼34(13+21)

    ⑽55(21+34)

    ⑾89(34+55)

    ⑿144(55+89)

    ⒀233(89+144)

    ⒁377(144+233)

    ⒂610(233+377)

    ⒃987(377+610)

    ⒄1597(610+987)

    ⒅2584(987+1597)

    ⒆4181(1597+2584)

    ⒇6765(2584+4181)

    (21)10946(4181+6765)

    (22)17711(6765+10946)

    (23)28657(10946+17711)

    (24)46368(17711+28657)(46368÷28657=0.6180339887 4989484820 4586834......)

    ......

    数列弧线/斐波那契数列 编辑

    斐波那契弧线斐波那契弧线

    斐波那契弧线,也称为斐波那契扇形线。第一,此趋势线以二个端点为准而画出,例如,最低点反向到最高点线上的两个点。然后通过第二点画出一条“无形的(看不见的)”垂直线。然后,从第一个点画出第三条趋势线:38.2%, 50%和61.8%的无形垂直线交叉。

    斐波纳契弧线,是潜在的支持点和阻力点水平价格。斐波纳契弧线和斐波纳契扇形线常常在图表里同时绘画出。支持点和阻力点就是由这些线的交汇点得出。

    要注意的是弧线的交叉点和价格曲线会根据图表数值范围而改变,因为弧线是圆周的一部分,它的形成总是一样的。

    社会文明/斐波那契数列 编辑

    【艾略特波浪理论】

    1946年,艾略特完成了关于波浪理论的集大成之作,《自然法则——宇宙的秘密》。艾略特坚信,他的波浪理论是制约人类一切活动的普遍自然法则的一部分。波浪理论的优点是,对即将出现的顶部或底部能提前发出警示信号,而传统的技术分析方法只有事后才能验证。艾略特波浪理论对市场运作具备了全方位的透视能力,从而有助于解释特定的形态为什么要出现,在何处出现,以及它们为什么具备如此这般的预测意义等等问题。另外,它也有助于我们判明当前的市场在其总体周期结构中所处的地位。波浪理论的数学基础,就是在13世纪发现的费氏数列。

    8浪循环图8浪循环图

    波浪理论数学结构8浪循环图

    ·8浪循环图说明

    ·波浪理论的推动浪,浪数为5(1、2、3、4、5),调整浪的浪数为3(a\b\c),合起来为8。

    ·8浪循环中,前5段波浪构成一段明显的上升浪,其中包括3个向上的冲击波及两个下降的调整波。在3个冲击波之后,是由3个波浪组成的一段下跌的趋势,是对前一段5浪升势的总调整。这是艾略特对波浪理论的基本描述。而在这8个波浪中,上升的浪与下跌的浪各占4个,可以理解为艾略特对于股价走势对称性的隐喻。

    ·在波浪理论中,最困难的地方是:波浪等级的划分。如果要在特定的周期中正确地指认某一段波浪的特定属性,不仅需要形态上的支持,而且需要对波浪运行的时间作出正确的判断。

    ·换句话说,波浪理论易学难精,易在形态上的归纳、总结,难在价位及时间周期的判定。

    波浪理论的数字基础:斐波那契数列

    波浪理论数学结构——

    斐波那契数列与黄金分割率

    ·这个数列就是斐波那契数列。它满足如下特性:每两个相连数字相加等于其后第一个数字;前一个数字大约是后一个数字的0.618倍;前一个数字约是其后第二个数字的0.382倍;后一个数字约是前一个数字的1.618倍;后一个数字约是前面第二个数字的2.618倍;

    ·由此计算出常见的黄金分割率为(0.5和1.5外):

    0.191、0.236、0.382、0.618、0.809、

    1.236、1.382、1.618、1.764、1.809

    ·黄金分割比率对于股票市场运行的时间周期和价格幅度模型具有重要启示及应用价值。

    黄金分割比率在时间周期模型上的应用

    ·未来市场转折点=已知时间周期×分割比率

    ·已知时间周期有两种:

    ⑴循环周期:最近两个顶之间的运行时间或两个底之间的运行时间

    ⑵趋势周期:最近一段升势的运行时间或一段跌势的运行时间

    ·一般来讲,用循环周期可以计算出下一个反向趋势的终点,即用底部循环计算下一个升势的顶,或用顶部循环计算下一个跌势的底。而用趋势周期可以计算下一个同方向趋势的终点或是下一个反方向趋势的终点。

    时间循环周期模型预测图

    时间趋势周期模型预测图

    时间周期与波浪数浪的数学关系

    ·一个完整的趋势(推动浪3波或调整浪3波),运行时间最短为第一波(1浪或A浪)的1.618倍,最长为第一波的5.236倍。如果第一波太过短促,则以第一个循环计算(A浪与B浪或1浪与2浪)。

    ·1.382及1.764的周期一旦成立,则出现的行情大多属次级趋势,但行情发展迅速。

    ·同级次两波反向趋势组成的循环,运行时间至少为第一波运行时间的1.236倍。

    ·一个很长的跌势(或升势)结束后,其右底(或右顶)通常在前趋势的1.236或1.309倍时间出现。

    黄金分割比率在价格幅度模型上的应用

    ·如果推动浪中的一个子浪成为延伸浪的话,则其他两个推动浪不管其运行的幅度还是运行的时间,都将会趋向于一致。也就是说,当推动浪中的浪3在走势中成为延伸浪时,则浪1与浪5的升幅和运行时间将会大致趋同。假如并非完全相等,则极有可能以0.618的关系相互维系。

    ·浪5最终目标,可以根据浪1浪底至浪2浪顶距离来进行预估,他们之间的关系,通常亦包含有神奇数字组合比率的关系。

    ·对于ABC调整浪来说,浪C的最终目标值可能根据浪A的幅度来预估。浪C的长度会经常是浪A的1.618倍。当然我们也可以用下列公式预测浪C的下跌目标:浪A浪底减浪A乘0.618。

    ·在对称三角形内,每个浪的升跌幅度与其他浪的比率,通常以0.618的神奇比例互相维系。

    黄金分割比率在价格幅度模型上的应用

    ·0.382:浪4常见的回吐比率、部份浪2的回吐比率、浪B的回吐比率。

    ·0.618:大部份浪2的调整幅度、浪5的预期目标、浪B的调整比率、三角形内浪浪之间比率。

    ·0.5:常见是浪B的调整幅度。

    ·0.236:浪3或浪4的回吐比率,但不多见。

    ·1.236与1.382:

    ·1.618:浪3与浪1、浪C与浪A的比率关系。

    推动浪形态

    ·推动浪有五浪构成。第一浪通常只是由一小部分交易者参与的微弱的波动。一旦浪1结束,交易者们将在浪2卖出。浪2的卖出是十分凶恶的,最后浪2在不创新低的情况下,市场开始转向启动下一浪波动。浪3波动的初始阶段是缓慢的,并且它将到达前一次波动的顶部 (浪1的顶部)。

    推动浪浪5未能创新高(低),市场将会出现大逆转

    推动浪的变异形态——倾斜三角形

    ·倾斜三角形为推动浪中的一种特殊型态(比较少见),主要出现在第5浪的位置。艾略特指出,在股市中,一旦出现一段走势呈现快速上升或赶底的状况,其后经常会出现倾斜三角形型态

    调整浪形态

    ·调整是十分难以掌握的,许多艾略特交易者在推动模式阶段上赚钱而在调整阶段再输钱。一个推动阶段包括五浪。调整阶段由三浪组成,但有一个三角形的例外。一个推动经常伴随着一个调整的模式。

    ·调整模式可以被分成两类:

    ·简单的调整:之字型调整(N字型调整)

    ·复杂的调整:平坦型、不规则型、三角形型

    调整浪的简单与复杂调整的交替准则 调整浪的变异形态:强势三角形

    调整浪的变异形态:前置三角形

    各段波浪的特性

    ·在8浪循环中,每段波浪都有不同的特点,熟知这些特点,对波浪属性的判断极有帮助,

    ·第1浪:大部分第1浪属于营造底部形态的一部份,相当于形态分析中头肩底的底部或双底的右底,对这种类型的第1浪的调整(第2浪)幅度通常较大,理论上可以回到第1浪的起点。

    小部份第1浪在大型调整形态之后出现,形态上呈V形反转,这类第1浪升幅较为可观。在K线图上,经常出现带长下影线的大阳线。

    从波浪的划分来说,在5-3-5的调整浪当中,第1浪也可以向下运行,通常第1浪在分时图上应该显示明确的5浪形态。

    ·第2浪:在强势调整的第2浪中,其回调幅度可能达到第1浪幅度的0.382或0.618,在更多的情况下,第2浪的回调幅度会达到100%,形态上经常表现为头肩底的右底,使人误以为跌势尚未结束。

    在第2浪回调结束时,指标系统经常出现超卖、背离等现象。

    第2浪成交量逐渐缩小,波幅较细,这是卖力衰竭的表现。

    出现传统系统的转向信号,如头肩底、双底等。

    ·第3浪:如果运行时间较短,则升速通常较快。在一般情况下为第1浪升幅的1.618倍。如果第3浪升幅与第1浪等长,则第5浪通常出现扩延的情况。

    在第3浪当中,唯一的操作原则是顺势而为。因为第3浪的升幅及时间经常会超出分析者的预测。

    通常第3浪运行幅度及时间最长。属于最具爆发性的一浪。大部分第3浪成为扩延浪。第3浪成交量最大。

    出现传统图表的突破信号,如跳空缺口等。

    ·第4浪:如果第4浪以平坦型或N字型出现,a小浪与c小浪的长度将会相同。第4浪与第2浪经常是交替形态的关系,即单复式交替或平坦型、曲折型或三角形的交替。

    第4浪的低点经常是其后更大级数调整浪中A浪的低点。

    经常以较为复杂的形态出现,尤其以三角形较为多见。通常在第3浪中所衍生出来的较低一级的第4浪底部范围内结束。

    第4浪的底不会低于第1浪的顶。

    ·第5浪:除非发生扩延的情况,第5浪的成交量及升幅均小于第3浪。

    第5浪的上升经常是在指标出现顶背离或钝化的过程中完成。

    在第5浪出现衰竭性上升的情况下,经常出现上升楔形形态。这时,成交量与升幅也会出现背离的情况。

    如果第1、3浪等长,则第5浪经常出现扩延。如果第3浪出现扩延浪,则第5浪幅度与第1浪大致等长。

    市场处于狂热状态。

    ·第6浪A浪:A浪可以为3波或者5波的形态。在A浪以3波调整时,在A浪结束时,市场经常会认为整个调整已经结束。在多数情况下,A浪可以分割为5小浪。

    市场人士多认为市场并未逆转,只视为一个较短暂的调整。

    图表上,阴线出现的频率增大。

    ·第7浪B浪:在A浪以3波形态出现的时候,B浪的走势通常很强,甚至可以超越A浪的起点,形态上出现平坦型或三角形的概率很大。而A浪以5波运行的时候,B浪通常回调至A浪幅度的0.5至0.618。

    升势较为情绪化,维持时间较短。

    成交量较小。

    ·第8浪C浪:除三角形之外,在多数情况下,C浪的幅度至少与A浪等长。

    杀伤力最强。

    与第3浪特性相似,以5浪下跌。

    股价全线下挫。

    【人类文明的斐波那契演进】

    古老的<马尔萨斯理论>已经显灵。马尔萨斯认为:每当社会财富快速积累,人口快速增长,就会出现:战争、瘟疫、饥荒、自然灾害来削减人口。2000年科技泡沫达到繁荣的极限,到处都是财富神话!然后盛极而衰,全球经济急转直下转入衰退、长期萧条。于是:911、阿富汗战争、伊拉克战争、 SARS、印度洋海啸、飓风袭击美利坚、禽流感、寒流袭击欧罗巴。这一切集中在一起接二连三地发生!2000年是自上世纪30年代全球经济大萧条后,一个长达约70年的经济增长周期的结束点,后面将是一个长期萧条周期。上世纪30年代全球经济大萧条导致了二次世界大战,被艾略特称之为:底部战争。现在又是一个与上世纪30年代全球经济大萧条同级别的经济萧条周期,2000年来的经济萧条将持续至 2021年才会结束(预测附在下面)。后面是否又会发生被艾略特称之为的:底部战争?至少有不良苗头:哈马斯执政、伊朗核问题纠缠,世界将走向何方?

    是否还记得那个著名的:

    1999年7月之上 (误差了2年)

    恐怖大王从天而降 (911)

    使安哥鲁摩阿大王为之复活 (美国发动反恐战争)

    这期间由马尔斯借幸福之名统治四方 (唯一待验证)

    社会群体心理、群体行为、群体价值观,乃至国际政治、经济、军事,一切皆是自相似系统分形几何运行阶段的反映和结果。

    1、自2000年来的全球经济萧条将持续至2021年,说明未来将是长期萧条。

    2、之前会有若干次小级别、温和的经济扩张和收缩,2010、2011、2018年是拐点。

    3、2021年是一个黑暗的年份,人们悲观、恐惧、绝望的情绪会达到一个极点。到时绝大多数经济学家会一致悲观!接着柳岸花明经济开始复苏,经济学家们又挨了一记大耳光。

    首先,列出一组计算公式:

    (公元1937年 – 公元1932年)X 3.618 + 公元1982年 =公元2000年

    (公元1966年 – 公元1942年)/1.382 + 公元1982年 = 公元1999年

    (公元1837年 – 公元1789年)X 1.382 + 公元1932年 = 公元1998年

    (公元1325年 – 公元950年)X 0.618 – (公元1650年 – 公元1490年) + (公元1789年– 公元1650年) + 公元1789年 = 公元2000年

    其中:

    公元950年 商业革命的起点

    公元1325年 商业革命的结束点

    公元1490年 资本主义革命的起点

    公元1650年 资本主义革命的结束点

    公元1789年 工业革命的起点

    公元1837年 公元1789年后第一轮经济扩张的结束点

    公元1932年 自公元1929年资本主义世界股灾的结束点

    公元1937 年 公元1929年股灾后第一轮经济扩张的结束点

    公元1942年 公元1929年股灾后第二轮经济扩张的起点

    公元1966年 公元1929年股灾后第二轮经济扩张的结束点

    公元1982年 70年代全球经济滞胀的结束点

    0.618、1.382、3.618 是斐波那契比率,来源于斐波那契数列

    前2个计算公式的含义:

    自上世纪30年代资本主义世界经济大萧条以来,新的一个自公元1932年开始的上升5浪的经济扩张周期已经结束,结束点为公元2000年。那么接着是一个调整期(经济萧条期),如果是对公元1932年至公元2000年,长度68年的经济扩张周期的调整,那么它的长度应该比之前小一浪级的第4浪(公元 1966年至公元公元1982年,长16年)要长,那么斐波那契数列中最接近的数字是21年。另外,贝纳理论对时间周期的推导,公元2000年为一个重要的高点,公元2003年为一个重要的低点,下一个重要的低点是公元2021年,相互吻合。并且,公元2000年的全球经济繁荣的拐点、公元2003年的低点已经被全球经济运行的事实所确认。其中,第2个计算公式误差了1年。

    第3个计算公式的含义:

    公元1932年至公元2000年,长度68年的经济扩张的上升5浪,又是更大浪级一个上升5浪(公元1789年至公元2000年,长度211年)的第5子浪,公元2000年同时又是长211年上升5浪的结束点。该计算公式的结果误差了2年。那么,接下来的调整(经济萧条期)可就不是21年这么短,而是211年的 38.2%、50%、61.8%(斐波那契回荡) ,也就是长度几十年至百年级的。

    第4个计算公式的含义:

    公元1789年至公元2000年,长211年上升5浪的经济扩张周期,又是更大浪级公元950年至公元2000年千年浪(浪3)的第5子浪,说明公元 2000年同时又是长度1050年的一个千年浪(浪3)的结束点。那么说明接下来的调整(浪4,经济萧条期)将是对千年浪(浪3)的几百年级的。这种几百年级规模的调整不得不要从人类文明级别来考虑!之前:古罗马帝国于公元476年灭亡,之前是一个一千年的罗马帝国人类奴隶社会的文明(浪1),公元476 年后接着是一个长达474年动荡的、封建的黑暗中世纪(浪2)。并且,公元2000年的拐点(浪3的结束点)已经被全球经济运行的事实所证实,按照马尔萨斯的人口理论:每当社会财富快速积累,人口快速增长,就会出现:战争、瘟疫、饥荒、自然灾害来削减人口。公元2000年后马尔萨斯理论在不断被验证,而唯一还没有被证实的饥荒,气候如此大面积剧烈异常波动,难免会造成连续几年的粮食减产,马尔萨斯所提到的饥荒也是不难预期地。以后发生的事情还会继续不断地验证马尔萨斯理论,不信让你们的孩子的孩子…….....的孩子,来继续鉴证。(自然灾害频发粮食减产,低素质人口猛超生,已经为将来闹饥荒打下了伏笔。2007-2-15补)公元2000年一个时间窗口打开,之后将会战争、瘟疫、饥荒、自然灾害频发,这个逆流(浪4)的长度将是几百年长度的,未来的几百年全球人口将会被消减38.2%或50%或61.8%(斐波那契回荡),个人认为38.2%的可能性偏大,也就是说将有大量人口死于非命。即便是没被消减的,也是活的生不如死。事实已经证明公元2000年是一个千年级的时空

    共振点。扩张/收缩、前进/倒退的交替式发展是自然生长、事物发展的自然法则,是不以人的意志为转移地。况且,人类社会本身就是自然的组成部分。

    另外,非常精确的是:

    浪3长度是浪2长度的2.236倍(又一个斐波那契比率)

    浪3长度= 公元2000年– 公元950年= 1050年

    浪2长度= 公元950年– 公元476年= 474年

    1050年/2.236 = 470年,与浪2的474年仅很接近,仅误差4年。

    非常巧合的是公元2000年已经被证实是全球经济运行的重要拐点,同时与上述4个计算公式的计算结果、贝纳理论的周期推导结果、还有400多年前的大预言时间出奇的一致!不知道大预言的作者是怎么计算的?

    1999年7月之上

    恐怖大王从天而降

    使安哥鲁摩阿大王为之复活

    这期间由马尔斯借幸福之名统治四方

    至此我们应该明白,我们伟大的人生处于历史长河的何种阶段?下面的几百年的调整(浪4),世界将是动荡不安的、到处都充满仇恨、敌对、剥削、压迫。有可能会是象伟大革命导师列宁所论述的:资本主义是腐朽的,资本主义是垂死的,无产阶级最终是资本主义的掘墓人。人类社会经过几百年的动荡和无产阶级革命(浪4),下一个千年浪(浪5)可能是人类文明的全球普遍社会主义阶段,下一个千年浪(浪5)也可能是一个延长浪,其中的第5子浪会上升到共产主义阶段,英特纳雄耐尔就一定会实现!!

    而西方文明精确理论计算的未来:

    根据波浪构造指导方针

    1、浪2、4趋于等长,或呈斐波那契关系。

    2、一个波浪结构中的5个子浪的第1子浪延长,这个波浪结构之后的调整浪幅度将小于等于第2子浪的底。那么,浪4的调整比较可能的是与浪2趋于等长。浪4长度 = 公元950年 – 公元476年 = 474年也就是说,上面提到的公元2000年后的战争、瘟疫、饥荒、自然灾害频发来消减人口的逆流(浪4),其长度将持续474年。之后的浪5(社会主义至共产主义文明):浪1、3趋于等长,那么浪5将是延长浪,长度是浪1、3的1.618(斐波那契比率)倍。浪5长度 = (公元2000年 – 公元950年)X 1.618 = 1699年也就是说,西方文明自公元950年来的浪3(发展的驱动浪,它伴随商业贸易的兴起至资本主义的科技泡沫)已于公元2000年结束,之后的浪4(战乱、瘟疫、饥荒、自然灾害频发的调整浪)将是长度474年的调整,然后的浪5(发展的驱动浪,社会主义至共产主义文明)长度将是1699年,最后西方文明将于公元2000年 + 474年 + 1699年 = 公元4173年结束。

    我们人类在地球上的文明史本身可能就是地球生命发展阶段的一个子浪而已。

    通过对跨度几千年的中国历史朝代表分析,惊异地发现中华文明竟然也是以艾略特波浪的斐波那契方式演进!

    先看中国封建社会:

    浪Ⅰ 公元前221年 --公元220年长度441年 统一、发展的秦、汉

    浪Ⅱ 公元220年 -- 公元581年 长度361年 动荡、战乱、分裂的三国、两晋、南北朝

    浪Ⅲ 公元581年 – 公元907年 长度326年 统一、发展的隋、唐

    浪Ⅳ 公元907年 – 公元1279年 长度372年 动荡、战乱、分裂/并存的五代十国、宋、辽、西夏、金

    浪Ⅴ 公元1279年 – 公元1911年 长度632年 统一、发展的元、明、清

    并且:

    1、中国封建社会的三大盛世“文景之治”、“贞观之治”、“康干盛世”就出现在Ⅰ、Ⅲ、Ⅴ三个上升的驱动浪中。

    2、浪Ⅴ是延长浪经历3个朝代,浪Ⅰ、Ⅲ未延长经历2个朝代。

    3、每个驱动浪开头总有一个短命的朝代:秦、隋、元

    4、元/隋 = 89年/37年 = 2.41 隋/秦 = 37年/15年 = 2.47 趋于一致

    其间的斐波那契关系:

    1、浪Ⅰ长度是浪Ⅲ长度的1.382倍(斐波那契比率),浪Ⅲ长度326年X 1.382 = 451年,与浪Ⅰ长度441年接近。

    2、浪Ⅴ长度是浪Ⅰ长度的1.382倍(斐波那契比率),浪Ⅰ长度441年X 1.382 = 609年,与浪Ⅴ长度632年接近。也就是说,(公元220年 – 公元前221年)X 1.382 + 公元1279年 = 公元1888年公式含义:中国封建社会结束点公元1911年之前很多年,就可以通过波浪间的斐波那契关系计算出中国封建社会将于公元1888年结束。只误差了23年,对于长达2132年的中国封建社会而言,误差仅为1.08%

    3、浪Ⅱ长度是浪Ⅰ长度的0.809倍(斐波那契比率),浪Ⅰ长度441年 X 0.809 =357年,与浪Ⅱ长度361年接近。

    4、浪Ⅳ长度372年与浪Ⅱ长度361年趋于等长。

    5、浪Ⅴ是延长浪,长度是浪Ⅰ至浪Ⅲ的1.618倍(斐波那契比率)。(441年 – 361年 + 326年)X 1.618 = 657年,与浪Ⅴ长度632年接近。也就是说,(公元220年 – 公元前221年 – 公元581年 + 公元220年 + 公元907年 – 公元581年)X 1.618 + 公元1279年 = 公元1936年

    公式含义:

    中国封建社会结束点公元1911年之前很多年,就可以通过波浪间的斐波那契关系计算出中国封建社会于公元1936年结束。只误差了25年,对于长达2132年的中国封建社会而言,误差仅为1.17%然而公元前221年至公元1911年长达2132年的中国封建社会仅是更大浪级中华文明的第3子浪。

    更大浪级的波浪间存在令人瞠目结舌的精确、完美的斐波那契关系:

    浪1 约公元前21世纪 -- 公元前722年,长度约1300年,夏、商、周至春秋/战国前的中国奴隶社会文明。

    浪2 公元前722年 -- 公元前221年,长度501年,动荡、战乱、分裂的春秋/战国。

    浪3 公元前221年 -- 公元1911年,长度2132年,中国封建社会文明。

    数列的来源/斐波那契数列 编辑

    斐波那契数列斐波那契数列
    斐波那契数列斐波那契数列

    根据高德纳的《计算机程序设计艺术》,1150年印度数学家Gopala和Hemachandra在研究箱子包装物件长宽刚好为1和2的可行方法数目时,首先描述这个数列。在西方,最先研究这个数列的人是比萨的列奥纳多·斐波那契。

    斐波那契这个数列来自他的《算盘书》中一道并不出名的问题.他当时写这道题只是考虑作为一个智力练习.然后,到了19世纪,法国数学家E·卢卡斯出版了一部四卷本的有关娱乐数学方面的着作,把斐波那契的名字,加到该问题的解答和所出现的数列上去。

    《算盘书》中引致斐波那契数列的问题是:

    1)假定一个月大小的一对兔子(雄和雌的),对于繁殖还太年轻,但两个月大小的兔子便足够成熟.又假定从第二个月开始,每一个月它们都繁殖一对新的兔子(雄和雌的)。

    2)如果每一对兔子的繁殖都按上面说的同样的方式,并假定中途没有兔子死去。试问:从开始起,每个月有多少对兔子呢?

    兔子的对数:

    很显然,斐波那契数列的每一项,都等于它前两项的和。即= +

    添加视频 | 添加图册相关影像

    扩展阅读
    1lava-lava.com
    2斐波那契数列的通项公式推导

    互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于www.baike.com。

    登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和专业认证智愿者沟通。

    互动百科用户登录注册
    此词条还可添加  信息模块

    WIKI热度

    1. 编辑次数:28次 历史版本
    2. 参与编辑人数:16
    3. 最近更新时间:2019-01-03 14:40:06

    互动百科

    扫码下载APP