母牛的故事。该怎么解决

母牛的故事。。。
母牛的故事  
时间限制(普通/Java):1000MS/10000MS 运行内存限制:65536KByte
总提交: 1084 测试通过: 643 
描述

有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛? 

输入

输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。
n=0表示输入数据的结束,不做处理。

输出

对于每个测试实例,输出在第n年的时候母牛的数量。
每个输出占一行。

样例输入


2
4
5
0

样例输出


2
4
6



不会处理程序。。。什么思路???

------解决方案--------------------
for(i=0;n[i]!=0;i++)//循环输出计算后的值,定义一个int k;记录一下
{
k = fun(n[i]);//调用函数fun计算,定义见下一贴
printf("%d\n", k);
}
------解决方案--------------------
C/C++ code
int fun(int a) 
{
     if(a<=1)
         return 1; 
     else if(a==2)  
        return 2; 
     else if(a==3) 
         return 3;  
     else if(a==4)  
         return 4;  
    else 
         return fun(a-1)+fun(a-3);
}

------解决方案--------------------
我想起了兔子问题