母牛的故事 也可以用递归公式写 f(n) = f(n-1)+f(n-3);
HDU 2018
/* THE PROGRAM IS MADE BY SH */
/*---------------------------------------------------------------------------
* http://acm.hdu.edu.cn/showproblem.php?pid=2018
* 母牛的故事
* Date : 2015/5/1
----------------------------------------------------------------------------*/
#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <ctime>
using namespace std;
int main()
{
int n;
int a[100] = {0};
while(scanf("%d",&n) != EOF && n > 0 && n < 55) {
if( n == 0) break;;
if(n <= 4){
printf("%d\n",n);
}
else if(n > 4){
for(int i = 1; i <= n; ++i){
if( i <= 4){
a[i] = i;
}
else if(i >4){
a[i] = a[i-1]+a[i-3];
}
}
printf("%d\n",a[n]);
}
}
system("Pause");
return 0;
}