//求斐波那契数
#include<stdio.h>
int fact(int n);
int main()
{
int m,n,i;
scanf("%d",&n);
while(n--){
scanf("%d",&m);
printf("%d\n",fact(m));
}
return 0;
}
int fact(int m)
{
int result;
if(m==1||m==2)
result=1;
else
result=fact(m-1)+fact(m-2);
return result;
}
1.此题的关键是用递归的方法求出第m个斐波那契数是多少,而递归则需要递归出口( if(m==1||m==2)
result=1;)和递归式子(result=fact(m-1)+fact(m-2);)。
2.此题还运用了调用主函数的方法。