关于递推思想的应用。
首先应该想到斐波那契数列,像这种动物繁衍有关的题,都尽量往这方面靠,总能找到结果的。
如此道题:
#include<iostream>
using namespace std;
int cow(int a)
{
if(a<=4) return a; //前四年不必说,只有第一头母牛在产牛;
else
return cow(a-1)+cow(a-3); //往后走,你按斐波那契的思想走一走,会发现你写出的后面的数据,要求的那一年是前 //一年与三年前的之和,正好是你要的东西;而如何使用最简便的递推,看你的了;
}
int main()
{
int n;
while(cin>>n)
{
// int i,sum=0;
// if(n<=4)cout<<n<<endl;
// else
// {
//
//
// cout<<sum<<endl;
// }
if(n==0)break;
else{
cout<<cow(n)<<endl;
}
}
return 0;
}
using namespace std;
int cow(int a)
{
if(a<=4) return a; //前四年不必说,只有第一头母牛在产牛;
else
return cow(a-1)+cow(a-3); //往后走,你按斐波那契的思想走一走,会发现你写出的后面的数据,要求的那一年是前 //一年与三年前的之和,正好是你要的东西;而如何使用最简便的递推,看你的了;
}
int main()
{
int n;
while(cin>>n)
{
// int i,sum=0;
// if(n<=4)cout<<n<<endl;
// else
// {
//
//
// cout<<sum<<endl;
// }
if(n==0)break;
else{
cout<<cow(n)<<endl;
}
}
return 0;
}
本文介绍了一种解决动物繁衍问题的方法,通过应用递推思想和斐波那契数列来计算每年母牛的数量。文章提供了一个具体的C++实现案例。
881

被折叠的 条评论
为什么被折叠?



