- 在线时间
- 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个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
2 k A4 m4 p) m" g: R解:由题意,设每个月的兔子总对数为f(n) ,(n = 1,2,3…), q( `0 x7 y* U' o) a0 F" [( c9 n
! n$ I: M2 s# V/ H% }5 l
其中 f(1) = f(2) = 1 (对)
7 Z, y- e* X" Q6 s" y9 j E, J1 z( M' j
0 ?2 @/ [, Z) t% @, l9 i# p# O( E; x3 |8 T4 c" f1 b% | S7 W
从第3个月起,每个月兔子的总数f(n) 可以分为:0 d ^ h q" H. Q# C% K: p
8 Y/ x& u" c2 o: W0 P( h第n新出生的兔子 f(newN)3 h, W- V% r* A' D& b
第n月之前出生的兔子 f(beforeN)/ a" E) g; ~! f0 \6 C% e. n
即 f(n) = f(newN) + f(beforeN)
* E! Q6 | E O/ U5 } A" B
# l9 L; E9 y( f, n2 |, f# |= f(newN) + f(n-1)( b. ~/ s. {, }: X
7 l H$ y! {& I5 q. d
. K! m) M( Y7 H! [. t4 X( b$ I% ^4 }" x
在第n+1个月里,第n个月新出生的兔子f(newN)还不能繁殖,数量不变;
6 W- K7 T( r$ I5 n2 ~3 F6 [. ~0 w- p% M
而第n个月之前出生的兔子f(beforeN),则可以成倍繁殖,数量X2
7 l c6 l2 ^& K0 X6 D8 G% b) P) V- w! m& M4 A& y
则 f(n+1) = f(newN) + 2(beforeN)X2& c7 ]: d4 ]; t; H. N* Q+ u
/ H- f3 a) n4 a& K# M化简得 f(n+1) = f(n) + f(n-1)
! r- C' m& c% m9 U
4 l: X* u) q- q& c即 f(n) = f(n-1) + f(n-2) (n=3,4,5,…)
+ Y! F% a) }$ d6 b/ p/ n# y6 J: y$ I# x2 Y1 s
$ M% w, r- z/ _- @0 w% b6 @& s( U% B/ G
' m$ ^1 r0 y. }3 ~4 Z* h1 U! b所以,每个月的兔子总对数可以归纳为一个分段函数:
) d2 i3 E6 f7 T! ^. {' x( r# J4 H$ A# @9 I
f(n) = 1 (n=1,2)
) t& m' K3 e t& Z) f) c3 \# f: N- U9 [
f(n) = f(n-1) + f(n-2) (n=3,4,5)
6 U$ B) H* i- K/ Y6 h
' z: d; l8 x8 N# a接着编程为递归函数即可解决问题。$ g5 {, O3 }) U
/ `1 ?0 O( n" e! `% `* Y7 C
# d8 o6 E- I: R
! s# D" J f9 t0 G# e
- T0 p! M+ z, S9 p |
zan
|