- 在线时间
- 90 小时
- 最后登录
- 2018-12-27
- 注册时间
- 2016-4-22
- 听众数
- 17
- 收听数
- 0
- 能力
- 20 分
- 体力
- 23459 点
- 威望
- 2 点
- 阅读权限
- 200
- 积分
- 7531
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 126
- 主题
- 100
- 精华
- 1
- 分享
- 0
- 好友
- 6
升级   50.62% TA的每日心情 | 开心 2018-6-4 15:01 |
---|
签到天数: 7 天 [LV.3]偶尔看看II
 群组: 2018年大象老师国赛优 群组: 高考备战 群组: 2018中小学数学建模冬 |
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
& E2 q# J- J/ r1 R$ ]+ {1 {解:由题意,设每个月的兔子总对数为f(n) ,(n = 1,2,3…)9 y; S! F. a5 W& J8 c# c+ B$ Z* r
. I3 M0 V4 |5 `9 F其中 f(1) = f(2) = 1 (对), [" M4 a, ?- p o$ o
( A& p1 v% z' W" f) \! j* ?) L% S6 x7 [: s1 g5 J# ~
m% u/ i6 O/ G从第3个月起,每个月兔子的总数f(n) 可以分为:7 a* n; j' n: i* R
4 v6 W! U0 e( `0 H第n新出生的兔子 f(newN)
' |% n) U4 u. P# ?第n月之前出生的兔子 f(beforeN)% r/ u6 @/ N! h. {9 w+ E2 B1 f7 d
即 f(n) = f(newN) + f(beforeN). ^2 k2 m. m8 m6 U y
+ A" f; N9 A8 Q2 e% w6 {= f(newN) + f(n-1)
# S; M7 c$ w) B3 G, B) n- m" f4 J3 u
4 b" t" o3 N0 X0 |- x
7 e' W! _, L: K Q
在第n+1个月里,第n个月新出生的兔子f(newN)还不能繁殖,数量不变;0 n* y/ }: e# z
4 y+ w+ ?4 e0 ~, A, E0 j而第n个月之前出生的兔子f(beforeN),则可以成倍繁殖,数量X2
u+ B# k3 z0 x* @2 }# x: \
7 p7 ?' a0 \# i3 e# y2 Q6 K, `" ?, ~7 [则 f(n+1) = f(newN) + 2(beforeN)X2/ p0 S. q v8 O7 n1 Z5 E! ~0 n3 D
, S0 r' [+ _6 X2 q化简得 f(n+1) = f(n) + f(n-1)
X& K+ X# v9 t0 \ g( u: X9 G& y7 k( A7 f) I' X) s
即 f(n) = f(n-1) + f(n-2) (n=3,4,5,…)
$ ?* V7 {( x* d' l7 L, J. y0 c. @
6 }" C7 \# F! J3 e, t7 f: J4 I2 ^
3 \8 x' a+ A# d* ~9 [/ q) p, f i5 D5 O0 u( i
所以,每个月的兔子总对数可以归纳为一个分段函数:
+ F6 O- O5 U1 X) K, ]$ F3 W8 f' y6 p `
f(n) = 1 (n=1,2)% @0 T, c2 X/ t: g' X$ h: j! q
4 X Q; N/ @* W s$ O; @f(n) = f(n-1) + f(n-2) (n=3,4,5)5 G- s$ f, o, _. T/ E; O
6 g! f! ^2 z, ?
接着编程为递归函数即可解决问题。8 E- Q! Z/ X4 W) M$ T# ?
9 j f2 w# d- r+ z- g+ w6 g( v, x/ y, ?7 l* _
! W8 O/ `( V4 i/ s) @
! q9 h$ a% m: e
|
zan
|