- 在线时间
- 90 小时
- 最后登录
- 2018-12-27
- 注册时间
- 2016-4-22
- 听众数
- 17
- 收听数
- 0
- 能力
- 20 分
- 体力
- 23475 点
- 威望
- 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 N. z- G5 ^1 ? d; V解:由题意,设每个月的兔子总对数为f(n) ,(n = 1,2,3…)9 F- y7 o) S! M! {" F& M
# ]( V8 L- K5 @7 O+ L其中 f(1) = f(2) = 1 (对)6 k+ t2 T% g) @/ C
" {% G. a& J/ @. x# l: ~
. p. {$ @6 F" Z! |* ~
; r$ Q9 e! D1 g# m" W从第3个月起,每个月兔子的总数f(n) 可以分为:
5 l( Y2 u' S! `+ Q6 s
; N0 G0 [. L$ |/ u第n新出生的兔子 f(newN), b7 ] y! |3 k: x; _. V& S! |% K
第n月之前出生的兔子 f(beforeN)
8 v4 ^( b: A8 L即 f(n) = f(newN) + f(beforeN)1 F# f4 t% ]6 g8 N
+ u6 }! `' V9 H. ?) u7 }# q
= f(newN) + f(n-1)
9 _0 w! N' D4 ^! S; m% Q! }0 a: I0 N$ F( o, S N( V
& O: U& n' H6 P' T9 b" M- _* s
; [3 p7 I) K4 v1 F! z& i% `在第n+1个月里,第n个月新出生的兔子f(newN)还不能繁殖,数量不变;
" `# G; P4 ]( Y
; ]! g+ Y1 X8 @- U而第n个月之前出生的兔子f(beforeN),则可以成倍繁殖,数量X2* B) N, S4 J+ P$ Y1 }: i$ k$ O
$ }9 \ x8 i3 {# y6 r6 l+ w则 f(n+1) = f(newN) + 2(beforeN)X2" z& C9 U2 u( t* E
8 I V- j4 s3 M: p& @$ f化简得 f(n+1) = f(n) + f(n-1)2 G. J9 w# r% B% F" I- p7 K6 M7 c$ w
8 v& J t. Z' U
即 f(n) = f(n-1) + f(n-2) (n=3,4,5,…)
|4 \# w) _# C3 _6 ^; h) h3 I/ a& @, O$ h6 e
' I' r- _0 k- s1 X; m2 H
` s: q, N* n所以,每个月的兔子总对数可以归纳为一个分段函数:
" b/ w9 v' X" X9 k- B4 c" O/ @0 b( J* T8 ^& p
f(n) = 1 (n=1,2)- u0 p, [6 V' Y) h3 J2 {
' X4 j1 c' O1 M2 E- D& `; Uf(n) = f(n-1) + f(n-2) (n=3,4,5)0 m& ]5 @5 L) u' y" Y2 F
8 s2 t* S8 {" ?" J8 r接着编程为递归函数即可解决问题。4 g* Y0 B n+ |3 j6 p3 b
4 H e+ z" v( n1 x+ O
( Y5 z I+ O* n O. \/ j3 S: C8 i) k7 S$ ]% i t' S' b6 R; D ?& A
: R/ }. R# ]' P
|
zan
|