问题:
斐波那契数定义为:f0 = 0, f1 = 1, fi = f(i-1) + f(i-2)(i>1)。试求斐波那契数fi。
分析:
递归线索为fi = f(i-1) +f(i-2)。递归出口为f0和f1。 下面给出程序
/**********************************************
斐波那契数(Fibonacci)求值
***********************************************/
#include<stdio.h>
int fibonacci(int n);
int main(void)
{
int n,result;
printf("input n:\n");
scanf("%d",&n);
if(n<0)
{
printf("error");
exit(1);
}
result = fibonacci(n);
printf("%d",result);
getch();
return 0;
}
/**********************************************
函数名称:fibonacci
参数列表:int n-----数列长度
返回结果:第n项的值
描 述:递归求解斐波那契数列第n项值?
**********************************************/
int fibonacci(int n)
{
if(n==0)
{
return 0;
}
if(n==1)
{
return 1;
}
return fibonacci(n-1) + fibonacci(n-2);
}