- 在线时间
- 90 小时
- 最后登录
- 2018-12-27
- 注册时间
- 2016-4-22
- 听众数
- 17
- 收听数
- 0
- 能力
- 20 分
- 体力
- 23473 点
- 威望
- 2 点
- 阅读权限
- 200
- 积分
- 7546
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 126
- 主题
- 100
- 精华
- 2
- 分享
- 0
- 好友
- 6
升级   50.92% TA的每日心情 | 开心 2018-6-4 15:01 |
|---|
签到天数: 7 天 [LV.3]偶尔看看II
 群组: 2018年大象老师国赛优 群组: 高考备战 群组: 2018中小学数学建模冬 |
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?2 k% \9 t9 u1 e4 K A
解:由题意,设每个月的兔子总对数为f(n) ,(n = 1,2,3…)
$ B9 R" J4 l r7 T2 v7 d' G; y: G
其中 f(1) = f(2) = 1 (对)1 M3 Q) r' F1 c5 k) I; H7 ~$ K9 ~
4 ^: N! Z4 W, D0 Q+ c1 I2 v
2 w3 L x* y) J& ~' K
* ~% D/ E- }& }# c从第3个月起,每个月兔子的总数f(n) 可以分为:
; H- O7 E# }- f7 C# i& c ]. U7 e- h; c. P* n) J4 y8 ?
第n新出生的兔子 f(newN)
; ]3 n. z6 A( w& y: V第n月之前出生的兔子 f(beforeN)
# v' K( s) S8 ^$ U即 f(n) = f(newN) + f(beforeN)
& R3 Y+ d7 C8 O$ @+ a m0 q/ l$ u/ T' P4 L3 [( d3 x' p. ^
= f(newN) + f(n-1)
% ^ p8 F1 c1 w" v B- A# s. `- K, o
! a% j% L+ M+ N
8 r* O2 h5 B/ q) [8 s/ x
4 E" R7 l: M7 d M3 v在第n+1个月里,第n个月新出生的兔子f(newN)还不能繁殖,数量不变;+ G& }9 R& i% z6 Q6 @% a
% Z. S, u4 D2 }7 w; n
而第n个月之前出生的兔子f(beforeN),则可以成倍繁殖,数量X2
4 U" U2 } `! p
0 M g: k3 i" n* D则 f(n+1) = f(newN) + 2(beforeN)X2' w4 m [4 O8 w( t8 ]' G0 F! I2 E
: Q* U. H: }& X9 d& ]
化简得 f(n+1) = f(n) + f(n-1)+ \( S. C1 I/ P
6 b& I: N4 F( O即 f(n) = f(n-1) + f(n-2) (n=3,4,5,…)
+ i5 v. N/ h) G5 D( g! R f% }1 Z* ~" V$ X0 Q9 j( H
. `0 {5 w& }9 c( B3 i% d7 w- o5 C. k2 |5 Y4 {: \( Z, A! V
所以,每个月的兔子总对数可以归纳为一个分段函数:
. j) R4 i( ~2 j% t( m5 i# |" {5 ^/ a- ~6 [
f(n) = 1 (n=1,2)
- z1 J+ P9 l$ I3 ]2 O3 Z
' |: y: X# r) r1 `6 M5 K: F, Pf(n) = f(n-1) + f(n-2) (n=3,4,5)( X0 [- Q. M. u+ c# [) k
$ K, {$ S( J/ X7 U) o0 D* h$ v( @ ^
接着编程为递归函数即可解决问题。9 J6 }5 V* R, l1 e- o
! k/ m' }. T7 G7 k( O9 O1 ?; a5 o, X4 A+ t, v5 @8 K' q5 x% z
. }3 M' C: ~' ]' G$ S
) ?1 C( N; y$ y6 Y" F5 E# ? |
zan
|