第n月的牛的数量由第n-1个月的老牛加上n-1个月新生的小牛,得到公式F(n)=F(n-1)+F(n-3)
AC代码:
#include<cstdio> const int maxn=55; int ans[maxn]; void solve(){ ans[1]=1; ans[2]=2; ans[3]=3; ans[4]=4; for(int i=5;i<55;++i){ ans[i]=ans[i-1]+ans[i-3]; } } int main(){ solve(); int n; while(scanf("%d",&n)==1&&n){ printf("%d\n",ans[n]); } return 0; }
如有不当之处欢迎指出!