- 在线时间
- 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个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?3 x$ k3 f- E0 b7 ~0 a2 c6 A
解:由题意,设每个月的兔子总对数为f(n) ,(n = 1,2,3…)
0 Q+ x6 k& \) B+ }# M
: H* J# N) ]2 z, \4 O其中 f(1) = f(2) = 1 (对). l I! q# j( s9 D) ~
% a* U# h/ B d" i4 C
$ J8 ^3 V9 @/ D) q0 t' \
% o1 v. m- v5 x/ z. M3 w; f从第3个月起,每个月兔子的总数f(n) 可以分为:: R) u. A9 G- u7 d& L
8 ]) Z) @. ?3 |4 E1 Q
第n新出生的兔子 f(newN)- @; e& n, u4 J! i; g/ m
第n月之前出生的兔子 f(beforeN); p( _! c' q! A
即 f(n) = f(newN) + f(beforeN)$ `" z3 B; d: H2 I
& q# u4 R& @" H) R, P( d= f(newN) + f(n-1)
- u4 }9 W1 ~. E! k% P9 @; p5 r9 u
, q- a3 d4 W; x4 \
3 v9 l: o B' d; a# Q# L
6 u1 t% r6 h* r0 W$ R2 w: L8 P8 ~在第n+1个月里,第n个月新出生的兔子f(newN)还不能繁殖,数量不变;
/ y- F' I! d) `3 Y$ A/ |0 V( o7 W* w( @1 W
而第n个月之前出生的兔子f(beforeN),则可以成倍繁殖,数量X2
7 F& E" g# K8 |8 @0 W0 w: ]# A, q; e: f
则 f(n+1) = f(newN) + 2(beforeN)X2
+ d+ v3 r; h4 K, C" K! a6 j k- N* M7 d) D! ] j
化简得 f(n+1) = f(n) + f(n-1)
$ F) G2 j# u8 Q
2 L1 l5 Z& o4 T/ f3 u& ]即 f(n) = f(n-1) + f(n-2) (n=3,4,5,…)
' Q! E! G! P9 P$ F9 k! B# J. A; Y7 }0 B) a* ?4 k6 t$ N
( I/ J. _0 z5 x0 k: E, W
2 A+ o5 X8 k% T# I2 |9 }" `2 d' p
所以,每个月的兔子总对数可以归纳为一个分段函数:
. k, H5 p: K2 F& c& K6 |( z* _- l- ?; [, B& \# b# R
f(n) = 1 (n=1,2)1 u' i/ M+ A3 t7 A- k7 v- r7 k8 w
% Y/ ~" ^" k }* c5 v! L" t
f(n) = f(n-1) + f(n-2) (n=3,4,5)4 \" p) a, q. t, W6 L
& B& ?6 m5 n$ m$ l1 e; H
接着编程为递归函数即可解决问题。- x4 l: A) P) k# f# ~
/ r9 W; u6 p; a4 _: b9 @* f4 n6 @
2 A0 R* }/ P4 J4 `+ |& Z
4 l. ~! X) K$ O1 ^. [: H% l7 G3 f0 S
|
zan
|