- 在线时间
- 90 小时
- 最后登录
- 2018-12-27
- 注册时间
- 2016-4-22
- 听众数
- 17
- 收听数
- 0
- 能力
- 20 分
- 体力
- 23472 点
- 威望
- 2 点
- 阅读权限
- 200
- 积分
- 7535
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 126
- 主题
- 100
- 精华
- 2
- 分享
- 0
- 好友
- 6
升级   50.7% TA的每日心情 | 开心 2018-6-4 15:01 |
|---|
签到天数: 7 天 [LV.3]偶尔看看II
 群组: 2018年大象老师国赛优 群组: 高考备战 群组: 2018中小学数学建模冬 |
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
0 n& \. R5 [' `# \8 H9 E解:由题意,设每个月的兔子总对数为f(n) ,(n = 1,2,3…)' A# q0 W6 k1 s) H o
4 H! w4 }- a# c其中 f(1) = f(2) = 1 (对); p F1 k6 z. p7 Z
6 T+ E' _- v& {% j% c/ d0 L
" q* q/ \+ y6 m/ y: l$ p2 d% }/ m }0 e+ G4 n5 @" ?' `
从第3个月起,每个月兔子的总数f(n) 可以分为:+ h* Y2 K2 }' v8 {9 I9 O& X' ]
, d @! S/ V2 C+ [9 o第n新出生的兔子 f(newN)/ W& B, \/ L4 T
第n月之前出生的兔子 f(beforeN)
- L8 G5 V# N) u即 f(n) = f(newN) + f(beforeN)4 }/ E5 H) a4 m+ X
: p# C. V) U5 `1 I+ u
= f(newN) + f(n-1)3 p' Z" a1 ]5 U' ?7 i- c. l, `
2 L2 r1 A8 X0 \3 x6 s7 C1 z4 T: u0 f1 C) G% N( b/ X
. N! p/ g% \+ }7 d8 K在第n+1个月里,第n个月新出生的兔子f(newN)还不能繁殖,数量不变;
! s3 q2 C# I t+ G
; g: a9 ~* ]7 c& w. w+ R0 Q6 m5 I而第n个月之前出生的兔子f(beforeN),则可以成倍繁殖,数量X2
4 a" f. d5 L) K8 s; R& P# r
5 B0 T; X6 P4 {; h9 Y/ o则 f(n+1) = f(newN) + 2(beforeN)X27 v% k4 J; r2 d; f+ J6 b; l
5 M5 \+ O2 _: y化简得 f(n+1) = f(n) + f(n-1)! e; b4 Q% n0 |7 w6 C& L/ ~
8 j& W9 ~9 z% O6 a5 c
即 f(n) = f(n-1) + f(n-2) (n=3,4,5,…)
! f3 \1 }7 b0 Q+ v5 @* J" \' r6 h @/ V8 Q% e. N3 Y
9 b& Q9 \+ E! N9 [! D* x
) d% n$ u) ^6 { ^
所以,每个月的兔子总对数可以归纳为一个分段函数:* T* `' N1 E+ w0 F
1 T6 t y( O; ]4 F' t2 Xf(n) = 1 (n=1,2)
9 R0 E; v) K3 {) O8 o" n4 W' ?; P/ ]( y0 ~3 r
f(n) = f(n-1) + f(n-2) (n=3,4,5): r+ C2 s' y& l, y* w. p8 b# v
# e2 P4 r' o- @2 t2 e5 R* `接着编程为递归函数即可解决问题。
% f; B/ j1 b0 A! S
1 @9 B/ R0 s# v7 P, M
3 l4 |5 _* Z" ], }
8 g- D& [2 e. F9 y: J* s: K. U" \2 v6 O/ g+ {& K
|
zan
|