—经典兔子问题
//递归写法O(2n)
int Fib(int day)
{
if (day <= 1)
return day;
else
return Fib(day - 1) + Fib(day - 2);
}
int main()
{
while (1)
{
int day;
printf("请输入天数:");
scanf("%d", &day);
printf("第%d天共%d对兔子nn", day,Fib(day));
}
system("pause");
return 0;
}
//优化 O(n)
int main()
{
while (1)
{
int day;
printf("请输入天数:");
scanfint("%d", &day);
int i = 0;
int j = 1;
int q;
int sum = 0;
if (day < 1)
{
printf("天数不能小于1,请重新输入nn");
continue;
}
if (day < 3)
printf("第%d天共1对兔子nn",day);
else
{
for (int count = 1; count < day; ++count)
{
sum = i + j;
i = j;
j = sum;
}
printf("第%d天共%d对兔子nn", day, sum);
}
}
system("pause");
return 0;
}
最后
以上就是认真蜜粉最近收集整理的关于斐波那契数列之经典兔子问题的全部内容,更多相关斐波那契数列之经典兔子问题内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复