HDU - 2018 母牛的故事—递推
题目描述:
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
Input
输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0
#include <iostream>
#include <cstdio>
#include <cstdlib>
using namespace std;
long long f[55] = {0,1,1,1,1};
long long a[55] = {0,0,1,1,1} , b[55] = {0,0,0,1,1} , c[55] = {0,0,0,0,1};
int main(){
int n;
for(int i = 5 ; i < 55 ; ++i){
a[i] = f[i-1] + c[i-1];
b[i] = a[i-1];
c[i] = b[i-1];
f[i] = f[i-1] + c[i-1];
}
while(scanf("%d",&n) && n){
long long ans = f[n] + a[n] + b[n] + c[n];
printf("%lld\n",ans);
}
return 0;
}