主题:母牛生小牛问题
风之子Ж
[专家分:10] 发布于 2006-05-18 16:59:00
我记的好象是菲波拉数列
谁会?
回复列表 (共6个回复)
沙发
贺天行宝 [专家分:2300] 发布于 2006-05-18 19:46:00
var
a:array[-10..51]of int64;
i,j:longint;
begin
a[1]:=1;
for i:=2 to 50 do
a[i]:=a[i-1]+a[i-3];
while not seekeof do
begin
read(i);
writeln(a[i]);
end;
end.
板凳
wangjunyi2008 [专家分:0] 发布于 2006-05-30 17:26:00
巧了,刚做过,我记得是动规,公式好象是(F[I]=F[I-1]+F[I-3]??)不知是否
3 楼
lalaker [专家分:70] 发布于 2006-06-16 21:12:00
我记得是递推 [f(i):=f(i-1)+f(i-2)]
4 楼
小田甜ts [专家分:210] 发布于 2006-07-01 14:13:00
递归是一个不错的方法,但是时间上是很麻烦的。
我的建议是:
用一个数组,记录下1岁的牛,2岁的牛……和成年的牛
初始化时将数组的值初始成(1,0,0)
执行n次(n为年数),每次将2岁的牛的数加到成年的牛的数里,然后递推……
最后将数组的数求和输出,即可。
5 楼
maxumi [专家分:2200] 发布于 2006-07-03 10:09:00
[quote]递归是一个不错的方法,但是时间上是很麻烦的。
[/quote]
不是递归, 是递推, 速度很快.
6 楼
zeroly [专家分:0] 发布于 2006-07-04 22:48:00
用递推的话很快的
我来回复