- 在线时间
- 90 小时
- 最后登录
- 2018-12-27
- 注册时间
- 2016-4-22
- 听众数
- 17
- 收听数
- 0
- 能力
- 20 分
- 体力
- 23473 点
- 威望
- 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个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?& @( @; t( `9 H5 U: M9 F$ _1 @
解:由题意,设每个月的兔子总对数为f(n) ,(n = 1,2,3…)+ O$ O/ ^4 b M$ H R$ _
3 {2 C l; d* P其中 f(1) = f(2) = 1 (对)
6 Q0 ~( j1 O: w, h7 Z
' y9 a( @. v) T: i: Q4 ~2 K/ ?* O( B2 u8 F. T
# D8 n6 ?* ~. }+ s! X: T
从第3个月起,每个月兔子的总数f(n) 可以分为:, ~4 r- q% }; b
: X0 S8 l4 k5 L/ ^8 G" c第n新出生的兔子 f(newN)
$ n( l1 f5 F3 {% J4 l第n月之前出生的兔子 f(beforeN)
/ {6 k- |2 c& b) C即 f(n) = f(newN) + f(beforeN)" E) z( o% S4 B. B, A: W- ^7 R
6 \& W: B% ^3 ]0 A' \= f(newN) + f(n-1)
^0 |5 S- P( g6 p! i; W8 u3 w# C
% {3 B. e G4 |" s& v
2 O I; a8 B# E
9 z( R# Q" p% x F8 m在第n+1个月里,第n个月新出生的兔子f(newN)还不能繁殖,数量不变;" g6 P$ G7 K ~; X. E
, G( m* g/ z2 C' V' X4 x3 X# U而第n个月之前出生的兔子f(beforeN),则可以成倍繁殖,数量X2
7 P, `9 q: ]* \! F& N
: q& Q) i$ J( A2 w# u8 R则 f(n+1) = f(newN) + 2(beforeN)X2
. b6 g' L% k8 z
4 r7 K( i: n- X& s7 j0 M* b化简得 f(n+1) = f(n) + f(n-1)6 ]9 d1 t' w( G+ W( f
/ \8 [+ t- b3 O5 }# b! d* \$ G4 Q! b+ J即 f(n) = f(n-1) + f(n-2) (n=3,4,5,…)- @1 f; U8 w& ?) W% y
& @ J% Z- J% p' A' ]$ [$ f
# u, k( d& L3 p9 J# H! M- i
# d) b0 r/ A" e& k- Z2 {( S所以,每个月的兔子总对数可以归纳为一个分段函数:8 u Z& w, F6 w' g$ }5 }
b; O( H, {) A: zf(n) = 1 (n=1,2)' L8 t: `" V( H. s' \$ U1 _
9 _6 ~! T$ d; k. T
f(n) = f(n-1) + f(n-2) (n=3,4,5)
: z$ U, ^! R/ _7 y6 u T8 c" L* B# r/ A4 X$ A: j* |: _3 j
接着编程为递归函数即可解决问题。
, b, m& c6 _ @6 A6 `2 N5 ? m# a* x& I1 h1 V7 }+ S9 I" k$ m
, k: j0 I6 ?9 R
2 c% G D; x/ l5 ~! B. W2 {1 L
4 h2 n e$ V N% h# i! G |
zan
|