这是斐波那契函数基本的原理图。那我们怎么用递归实现呢?
首先x=1,x=2时的时候是特殊点,我们可以用这个两个点来设置递归函数的限制条件;
那么其他点的时候就为f(x)=f(x-1)+f(x-2);
这样递归原理就完成了
那么程序如下
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int math(int n)
{
if(n<=2)
{
return 1;
}
else
{
return math(n-1)+math(n-2);
}
}
int main ()
{
int n = 0;
while(1)
{
printf("斐波那契函数\n");
printf("请输入需要求的项>:");
scanf("%d",&n);
if (n>0)
break;
}
n = math(n) ;
printf("%d\n",n);
}
实现的效果为
这里我们不考虑超栈的情况.