概述
—经典兔子问题
//递归写法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;
}
最后
以上就是认真蜜粉为你收集整理的斐波那契数列之经典兔子问题的全部内容,希望文章能够帮你解决斐波那契数列之经典兔子问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复