【05】母牛问题

若一头母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第n年有多少头母牛?

分析的关键,统计当年倒退到3年前母牛数,就知道当前有几头母牛能添加,再加上现行的母牛数,就是当前的母牛数。

令f(n)表示第n年的母牛数,则可以列出的数学递推函数为:

f(1) = 1

f(2) = 1

f(3) = 1

f(n) = f(n-3) + f(n-1)     n>3

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
using namespace std;
void main() {
int a=1,b=1,c=1; //最初三个年份的初值
int n;
cin>>n;
for( int i=4,tmp; i<=n; i++) {
tmp = a + c;
a = b;
b = c;
c = tmp;
}
cout<<c;
}

欢迎关注我的其它发布渠道