回 帖 发 新 帖 刷新版面

主题:兔子繁殖的问题,向大家请教,谢谢

兔子繁殖
  1月份有1对小兔子,2 月份有1对大兔子(1月份的小兔子长大的)3月份有2对兔子(1对大兔子和1对小兔子,小兔子是大兔子生的),照此下去4月份有3对兔子,5月份有5对兔子,6月份有8对兔子,……请算出15个月时有多少对兔子,有多少对小兔子?

回复列表 (共7个回复)

沙发

没人帮忙吗?

板凳

论坛上有一个母牛生小牛的问题
跟这个差不多,自己去看吧

3 楼

菲薄拉契………………
递归,总兔子n年的=n-1年的+n-2年的,小兔子从第3年开始同总兔子第1年^_^

var i,n:integer;
function fei(n:integer):integer;
 begin
  if n=1 then fei:=1
   else if n=2 then fei:=1
    else fei:=fei(n-1)+fei(n-2);
 end;
begin
 readln(n);
 i:=fei(n);
 write('Big rabbits:');
 writeln(i);
 write('Small rabbits:');
 if n=1 then write('1')
  else if n=2 then write('0')
   else begin
         i:=fei(n-2);
         write(i); end;
 readln
end.

4 楼

program tuzi(input, output);
var
   big, small, temp:integer;
   i, j:integer;
begin
   writeln('please input month:');
   readln(i);
   big:=0;
   small:=1;
   for j:=2 to i do
     begin
         temp:=big;
         big:=big+small;
         small:=temp;
     end;
   write('big:=', big);
   writeln('small=', small);
   readln;
end.

5 楼

4楼的大哥,为什么把整型分开定义?和在一起也是没有问题的。

6 楼


var i,n:integer;
function fei(n:integer):integer;
 begin
  if n=1 then fei:=1
   else if n=2 then fei:=1
    else fei:=fei(n-1)+fei(n-2);
 end;
begin
 readln(n);
 i:=fei(n);
 write('Big rabbits:');
 writeln(i);
 write('Small rabbits:');
 if n=1 then write('1')
  else if n=2 then write('0')
   else begin
         i:=fei(n-2);
         write(i); end;
 readln
end.

7 楼

var 
i,j,k:longint;
a:array[0..10000]of longint;
begin
 readln(k);
 a[1]=1
 a[2]=1
 for i:=3 to k do a[i]:=a[i-1]+a[i-2];
 writeln(a[k]);
 readln 
end.

PS:未经调试,有楼上2位那么复杂吗……

我来回复

您尚未登录,请登录后再回复。点此登录或注册