在c语言中,如何利用数组求斐波那契数列的前20项?

如题所述

在c语言中,以vc为例利用数组求斐波那契数列的前20项的具体步骤如下:

1、首先,打开vc;

2、点击文件、新建;

3、选择win32 console application 并在右侧输入工程的名字和地址,确定;

4、选择一个空的工程,完成;

5、再次点击文件、新建,

6、选择c++ source file 并输入文件名字,确定;

7、输入如图所示的代码,这里以前十个斐波那契数列数为例,需要输出其他个数请把5改成对应数字的一半(比如要输出前20个,就把图中的5改成10);

8、点击右上角的编译运行按钮;

9、ok!我们成功地输出了斐波那契数列的前20项。

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

规律是:f[0]=1,f[1]=1,f[i]=f[i-1]+f[i-2],i>1

所以在C语言中利用数列的求法如下:

#include <stdio.h>

void main()
{
int i,array[20]={1,1};

for (i=2; i<20; i++)
{
array[i]=array[i-2]+array[i-1];
}
for (i = 0; i<20; i++)
{
printf("%d ",array[i]);
}
printf("\n");
}

    温馨提示:答案为网友推荐,仅供参考
    第1个回答  2021-06-25

    #include <stdio.h

    int main() 

    int i,fib[20]={0,1}; 

    for (i=2; i<20; i++)

    fib[i]=fib[i-2]+fib[i-1]; 

    printf("%d ",fib[19]);      

    return 0;

    #include<stdio.h>

    void main()

    {long sum=0;

    long a[20];

    int i;

    a[0]=1;a[1]=1;

    for(i=2;i<20;i++)

    a[i]=a[i-1]+a[i-2];

    for(i=0;i<20;i++)

    sum=sum+a[i];

    printf("%ld",sum);

    }

    数列与矩阵

    对于斐波那契数列1、1、2、3、5、8、13、……。有如下定义

    F(n)=F(n-1)+F(n-2)

    F(1)=1

    F(2)=1

    对于以下矩阵乘法

    F(n+1) = (1,1 ) (F(n),F(n-1))T

    F(n) =(1,0 ) (F(n),F(n-1))T

    它的运算就是右边的矩阵 (1,1)乘以矩阵(F(n),F(n-1)),右边的矩阵(1,0 ) 乘以矩阵(F(n),F(n-1)),得到:

    F(n+1)=F(n)+F(n-1)

    F(n)=F(n)

    以上内容参考:百度百科-斐波那契数列

    本回答被网友采纳