1、简单描述
一开始有一头母牛,母牛每年年初生一只小牛,每头小母牛从第四年开始生小牛,第n年共有多少头牛
2、思路
找递推关系,第n年的牛数是第n-1年的牛加上新出生的牛,新出生的牛就是三年前生的小牛长大之后生的小牛数 f(n)=f(n-1)+f(n-3)
#include<iostream>
using namespace std;
int num(int n)
{ if(n==1) return 1;
if(n==2) return 2;
if(n==3) return 3;
else returnnum(n-1)+num(n-3);}
int main()
{ int n;
while(cin>>n)
{ if(n==0)break;
else cout<<num(n)<<endl; }
return 0;}
3.体会
注意细节 第一年时只有一头小牛,长大后的牛每年都会生一头小牛。注意过了几年和第几年的区别,主要是找递推关系,前后数据的关系。