您的位置:首页 > 其它

算法——递推算法(顺推、逆推)

2011-07-25 16:05 141 查看
1. 顺推法 斐波拉契的“养兔问题” 公元1202年,一位意大利比萨的商人斐波拉契(Fibonacci,约1170-1250?)在他的《算盘全书》(这里的“算盘”指的是计算用沙盘)中提出过一个“养兔问题”。 某人买回一对小兔,一个月后小兔长成大兔。再过一个月,大兔生了一对小兔,以后,每对大兔每月都生一对小兔,小兔一个月后长成大兔。如此下去,问一年后此人共有多少对兔子? 表1 兔子的繁殖过程
月份

大兔数量

1月大的 小兔数量

2月大的 小兔数量

兔子总数

初始状态

0

1

0

1

1月

0

0

1

1

2月

1

1

0

2

3月

1

1

1

3

4月

2

2

1

5

5月

3

3

2

8

6月

5

5

3

13

7月

8

8

5

21

8月

13

13

8

34

9月

21

21

13

55

10月

34

34

21

89

11月

55

55

34

144

12月

89

89

55

233

设Matlab代码实现%存款问题
clear,close all

monthRate=0.0171/12;

months=49;
Fetch=1000;

Money=zeros(months);
Money(49)=Fetch;

for i=months:-1:2
Money(i-1)=Money(i)/(1+monthRate)+Fetch;
end

for i=months:-1:0
fprintf('第 %d 个月份的月末存款为: %f\n',i,Money(i+1));
end[/code]
运行结果



不考虑利息,则须存48000元,由于利息的存在只需要存入47363元。关键取决于利息的大小,利息不大的情况下,可直接存入48000元,利息生出的钱可作为奖赏。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: