题目: 一只母牛,第二年底生一只母牛和一只公牛,第三年底生一只母牛,第五年开始母牛会死,公牛也只能活4年,请问一个农场开始只有一只刚出生的母牛,N年后一共有多少只牛。请写一个函数输出结果
年数 母牛数 公牛数
- 1 母1
- 2 母1 母2 公2
- 3 母1 母2 母3 母3 公2 公3
- 4 母1 母2 母3 母3 母4 母4 母4 公2 公3 公4 公4
- 5 母2 母3 母3 母4 母4 母4 母5 母5 母5 母5 母5 公3 公4 公4 公5 公5 公5
- 6 母3 母3 母4 母4 母4 母5x5 母6x8 公4x2 公5x3 公6x5
得出
- 第一年 1只
- 第二年 3只
- 第三年 6只
- 第四年 11只
- 第五年 17只
- 第六年 28只
根据结果分析得出算法如下:
function sumCow(n){
switch(n){
case 1:
return 1
case 2:
return 3
case 3:
return 6
case 4:
return 11
}
return sumCow(n-1) + sumCow(n-2)
}
另附一张演算图
8631592817767_.pic_hd.jpg
网友评论