关于递推思想的应用。
首先应该想到斐波那契数列,像这种动物繁衍有关的题,都尽量往这方面靠,总能找到结果的。
如此道题:
#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;
}