斐波那契数列的排列是:1,1,2,3,5,8,13,21,34,55,89,144,
该题求第n个月的兔子个数,即求斐波那契数的第n个数。
程序如下:
program rabbit;
var a1,a2:longint;
i,n:integer;
begin a0:=0;
a1:=1;
read(n);
for i:=2 to n do
begin a2:=a0+a1;{第2个数=第0个数+第一个数}
a0:=a1;{把a1的值赋值于a0}
a1:=a2;{把a2的值赋值于a1}
{符合第n个数等于前两数的和}
end;
write(a1);
end.
二楼是递推,下面是递归方法:
var n:longint;
function tz(x:longint):longint;
begin
if x<=2 then begin tz:=1;exit;end;
tz:=tz(x-1)+tz(x-2);
end;
begin
readln(n);
writeln(tz(n));
end.
递归方法简单,但时间复杂度远大于递推,不建议采用
你的问题就有点问题吧? 按照你的问题来说 答案有很多种!
代码也有很多种!
小兔子不知道是几个月后繁殖, 这是最重要的一个条件!