斐波拉契函数c语言 斐波那契数列函数c语言

斐波那契数列的通项公式在C语言中如何表达?

斐波那契数列在数学上的通项公式为

在合肥等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站制作、网站设计 网站设计制作按需网站建设,公司网站建设,企业网站建设,品牌网站建设,全网营销推广,成都外贸网站制作,合肥网站建设费用合理。

An=An-1+An-2

在C语言中,根据算法实现不同,可以有很多种表达方式。以计算斐波那契第N项值为例,说明如下。

一、以数组方式实现:

int fn(int n)

{

int *a,i,r;

a=(int *)malloc(sizeof(int)*n);//分配动态数组。

a[0]=1;

a[1]=1;//初始化前两项。 

for(i = 2; in; i ++)

{

a[i]=a[i-1]+a[i-2];//这里就是通项公式的一种实现形式。 

}

r = a[n-1];//保存结果

free(a);//释放动态数组

return r;//返回结果值。 

}

二、以递归函数形式:

int fn(int n)

{

if(n == 0 || n == 1) return 1;//前两项固定值。

return fn(n-1)+fn(n-2);// 通过递归调用实现通项公式。 

}

三、注意事项:

1、方法有很多,不可能穷举完成,写代码时要灵活使用。

2、例子中以int保存,限于整型范围,计算很大值时会出现溢出。 根据实际需要选择类型。

C语言 斐波那契数列怎么写

#include

int

fib(int

n)//递归函数

{

//斐波那契数列算法

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

return

1;

return

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

}

int

main()

{

int

n;

scanf("%d",n);

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

return

0;

}

C语言 斐波那契函数

斐波那契数列问题,做为学习一般都用递归来写,默认情况下都设置程序运行时默认的栈空间大小为1MB,下面是递归调用的实例。

#includestdio.h

int fibo(int a)

{

if(a=2)

return 1;

else

return fibo(a-1)+fibo(a-2);

}

int main()

{

int a;

while(scanf("%d",a)!=EOF)

printf("%d\n",fibo(a));

return 0;

}


当前标题:斐波拉契函数c语言 斐波那契数列函数c语言
文章起源:http://azwzsj.com/article/dodsecd.html