- 在线时间
- 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个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
/ P4 T' U4 b5 V8 q5 A+ {* x解:由题意,设每个月的兔子总对数为f(n) ,(n = 1,2,3…)
) s' B# e5 t; q9 r1 t! R$ @' `9 l# V* u0 T6 u% {7 f
其中 f(1) = f(2) = 1 (对)$ _! n$ K9 w( A7 {* h$ _7 j
. n) L. h4 w2 a: O
( k* P* @% u0 X, o: a
8 c6 u$ L7 u/ V" B4 }7 D& t; t. X' ?从第3个月起,每个月兔子的总数f(n) 可以分为:" q1 @; ~/ r# p1 ~* _# L- i
" ^- Q8 y3 X# Y& g: R3 u2 \第n新出生的兔子 f(newN)
: X) Y' p6 u: b# O, f5 O: R) k# ?7 a第n月之前出生的兔子 f(beforeN)
i9 |+ r* s9 L1 I8 i+ Q/ p即 f(n) = f(newN) + f(beforeN), Q; P3 E& |! @, u. C; A
5 }/ L8 t! H2 E( X, R
= f(newN) + f(n-1)
, F2 s4 {' ~- f/ @% o. R. c4 T& O" @+ O8 K x
8 |' |3 L# C2 n0 U% [9 Z$ _0 M- m, k! X1 s, r @; M' v2 l8 R* q2 ]: c
在第n+1个月里,第n个月新出生的兔子f(newN)还不能繁殖,数量不变;( W2 f! s" X4 w# J7 r
$ @: @* k: c1 L; H! g1 N0 l
而第n个月之前出生的兔子f(beforeN),则可以成倍繁殖,数量X29 L, O, d3 `* F
% G. L/ L5 e* i- x则 f(n+1) = f(newN) + 2(beforeN)X22 g: N8 o) Y0 Y2 j' w; w
% E ]! M, u0 P
化简得 f(n+1) = f(n) + f(n-1)& m! C9 S; d9 Q6 e; G$ Q
9 ~8 i' \; E% W5 B6 @ w即 f(n) = f(n-1) + f(n-2) (n=3,4,5,…) ?' N9 c' H7 M. c+ J
h$ {. j6 d0 |' k! L
- C6 x# v# J. U6 L- r1 g
/ D( R7 [) j5 r8 N/ u所以,每个月的兔子总对数可以归纳为一个分段函数:, U3 y0 y1 i& G6 B" N% w
1 ]% S v" q W6 ^- Kf(n) = 1 (n=1,2)
2 q9 b$ i0 D3 R' v: P' G& t8 y: X0 q: M2 O. ?4 N
f(n) = f(n-1) + f(n-2) (n=3,4,5)* m2 C }0 A- n! v- K* K
$ g/ B |% ~: W$ [2 J7 _
接着编程为递归函数即可解决问题。
; W! t0 M, v! H- ~& w* _& p
8 H: M4 z3 m: M7 C4 H7 N: b) V+ E/ k3 W: N6 |6 O' P
/ P0 I7 ]9 A. ]! t7 T! ^1 g, B4 ^9 \
|
zan
|