#include <iostream>
using namespace std;
//开始错误的递归想法,f(n)=n,n<=4;f(n)=f(n-1)+n-3,n>4;
//正确的递归应该是这样的:f(n)=f(n-1)+第n年新母牛数,而第n年只有第n-3年的母牛能生母牛,即f(n)=f(n-1)+f(n-3)。
int f(const int x){
int y = x,s;
if (y <= 4) s = y;
else {
s = f(y - 1) + f(y - 3);
}
return s;
}
int main(){
int n,sum;
while (cin >> n && n){
sum=f(n);
cout << sum << endl;
}
return 0;
}
杭电ACM2018:母牛递增
最新推荐文章于 2021-06-02 21:07:43 发布