从品牌网站建设到网络营销策划,从策略到执行的一站式服务
斐波那契数列在数学上的通项公式为
在合肥等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站制作、网站设计 网站设计制作按需网站建设,公司网站建设,企业网站建设,品牌网站建设,全网营销推广,成都外贸网站制作,合肥网站建设费用合理。
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保存,限于整型范围,计算很大值时会出现溢出。 根据实际需要选择类型。
#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;
}
斐波那契数列问题,做为学习一般都用递归来写,默认情况下都设置程序运行时默认的栈空间大小为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;
}
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图