题目信息:
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
http://acm.hdu.edu.cn/showproblem.php?pid=2018
简单题模拟递归并转化储存数组中
源代码:
#include<cstdio>
using namespace std;
int nushu(int n){//手动模拟递归
if(n<=4) return n;
else return nushu(n-1)+nushu(n-3);
}
int main()
{
int i,n,a[56];
for(i=1;i<=55;i++){//递归转数组储存
if(i<=4) a[i]=i;
else a[i]=a[i-1]+a[i-3];
}
while(scanf("%d",&n)==1){
if(n==0) break;
printf("%d\n",a[n]);
//printf("%d\n",nushu(n));
}
return 0;
}