我以为我的网卡了呢,果然调用递归不如直接for循环能解决问题
#include<stdio.h>
#include<string.h>
#include<math.h>
// 这是一个有趣的古典数学问题,著名意大利数学家Fibonacci曾提出一个问题:
//有一对小兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。
//按此规律,假设没有兔子死亡,第一个月有一对刚出生的小兔子,问第n个月有多少对兔子?
//输入月数n(1<=n<=44)。
//输出第n个月有多少对兔子。
int main()
{
//思路:根据公式来,1 1 2 3 5 8 13
// int Fiboa(int x);
int mounth,sum;
scanf("%d",&mounth);
// sum=Fiboa(mounth);
if(mounth==1||mounth==2)
printf("1");
for(int i=3,t1=1,t2=1;i<=mounth;i++)
{
sum=t1+t2;//以第3天开始递推
t1=t2;
t2=sum;
}
printf("%d",sum);
return 0;//今天又是没带return 0的一天
}
/*int Fiboa(int x)
{
if(x==1||x==2)
return 1;
else if(x<45)
return Fiboa(x-1)+Fiboa(x-2);
}*/