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

2024-12-28 21:08:38
推荐回答(2个)
回答1:

在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

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");
}

回答2:

#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

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)

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