- 在线时间
- 90 小时
- 最后登录
- 2018-12-27
- 注册时间
- 2016-4-22
- 听众数
- 17
- 收听数
- 0
- 能力
- 20 分
- 体力
- 23469 点
- 威望
- 2 点
- 阅读权限
- 200
- 积分
- 7534
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 126
- 主题
- 100
- 精华
- 1
- 分享
- 0
- 好友
- 6
升级   50.68% TA的每日心情 | 开心 2018-6-4 15:01 |
|---|
签到天数: 7 天 [LV.3]偶尔看看II
 群组: 2018年大象老师国赛优 群组: 高考备战 群组: 2018中小学数学建模冬 |
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?) U5 j5 b9 n, O8 Z' {7 v9 o L2 c
解:由题意,设每个月的兔子总对数为f(n) ,(n = 1,2,3…)
0 j7 }' v& _* q- a* W; h
, y' }* ?" p2 x9 u2 k其中 f(1) = f(2) = 1 (对)
- d/ K3 A7 v A9 Q( y) [7 e
/ E! i" V, V [# t3 Y
- P/ `- ]7 M: v6 z! N' z7 h9 W5 s5 W' L9 t, l
从第3个月起,每个月兔子的总数f(n) 可以分为:$ K& Y9 I& c6 O, a2 X- b! S
/ `6 G0 b0 O2 y
第n新出生的兔子 f(newN)
( G I% s X6 S7 m第n月之前出生的兔子 f(beforeN)
) m8 b4 }; I" G即 f(n) = f(newN) + f(beforeN)7 V* V5 q# a0 w( B
1 C$ Z9 F' V2 D& M, ~- X
= f(newN) + f(n-1)0 _8 ]' M6 x( y6 p
9 @0 r9 L% ]; h% ?; V X$ W% c' c% M! ~+ R) J% `( }
8 w1 e& \% [: n) @7 M; I% b6 N9 B
在第n+1个月里,第n个月新出生的兔子f(newN)还不能繁殖,数量不变;
6 i- \& x5 k" d. j) k; |- t7 @* P4 f; l* A' H* U
而第n个月之前出生的兔子f(beforeN),则可以成倍繁殖,数量X2
" \% o B: U! L" v8 r+ q: x8 U& w* a+ S! E4 d! h
则 f(n+1) = f(newN) + 2(beforeN)X2$ Z o. V* X$ a6 k' ~# |- E2 l
! ~# v9 d* W, I! P2 l1 P
化简得 f(n+1) = f(n) + f(n-1)
0 g! ~" U1 W/ l8 H& s3 X9 c6 F. a( i: a3 \
即 f(n) = f(n-1) + f(n-2) (n=3,4,5,…)! B' X7 e9 G. H0 H& d# C
& F! B9 l2 c7 d( H+ [1 S- z
# {; W& M4 O1 f4 ?7 M, O
% m, N* r6 H! x( K* q4 p所以,每个月的兔子总对数可以归纳为一个分段函数:
0 H) O" s$ }' {7 s/ V8 m
8 k8 b' J3 }8 {9 u d* b2 Uf(n) = 1 (n=1,2)
0 @ h$ r$ s. X2 t; H! `7 C0 Y( C: c1 O& ?9 K
f(n) = f(n-1) + f(n-2) (n=3,4,5)
" J! Z& a# u7 t9 |- r7 J6 o* x4 K+ F
接着编程为递归函数即可解决问题。; v$ L1 p, k$ }- C: b7 v1 a' o
b: a/ `5 H0 R' s9 I/ U* Y
( m& y$ Q5 ?# w0 A0 T0 m% l3 C1 o7 v9 c; y# H
& ^) R2 S( Q& }, y+ u
|
zan
|