回 帖 发 新 帖 刷新版面

主题:一对兔子两年后共生多少兔子?

某人某月底从市场买了一对兔子,从第三个月开始每月生一对兔子,生下的每一对小兔子长到第三个月以后每月又生一对兔子。假设这些兔子都不死,问两年后有多少兔子?

回复列表 (共28个回复)

11 楼

计算方法不一样,结果当然不一样了
  y=y+1  就算要加也应该加2吧
在 for j 之前应该更改一下 y 的初值
你用 debug 追踪一下变量 y,i,j 就会明白的了

12 楼

DATA2,2^2+2,2^3+2,2^4+2,2^5+2,2^6+2,2^7+2,2^8+2
READa,b,c,d,e,f,g,h
LETx=a+b+c+d+e+f+g+h
PRINT"X : ";X
  END
     我想这是一个高等数学知识点。用它能解决

13 楼

从 a 到 h 是8个,能解释一下为什么是8吗?
算出来的得数是?
高等数学都是极限啊、函数啊什么的
加减乘除也能算是高等数学?
高等数学要都是这些东西我就不会只拿59分,就不会那么轻易放弃自考了,就不会还是初中文化那么没出息了。

14 楼

我现在有一个新的方法做这个题目他是一个用递推法:
          1         2          3          合计
第一个月  1         0           0           1
第二个月  0         1           0           1
第三个月  1(兔子开始生)0        1          2
第四个月  1             1        1           3
第五个月  2             1         2          5
公式是:1+1+3+5+8+……=
f1=1:f2=2
for i =3 to 24
f3=f1+f2
s=s+f3
f1=f2
f2=f3
next i
sum=s+2
print sum

15 楼

14楼的方法是对的,但数字是算错了。
我不知道那办法是不是你自己想的,
我根据你那方法想了半天,觉得应该这样子解释:

单位:双

把每月新生的兔子累计就是结果了

每月新生的兔子如下:
第一月:1
第二月:0
第三月:1=(第一月的新生兔子数)
第四月:1=(两个月前的累计兔子数,因为第三个月才有生育能力)
第五月:2=(两个月前的累计兔子数,就是第一月加第二月加第三月)
第i 月: =从第1月到第(i-2)月的累计数

用函数F(i)表示某月的兔子存在的总数就是
F(1)=1
F(2)=0
F(3)=F(1)
F(4)=F(1)+F(2) 两个月前存在的兔子才能生新的兔子,就是两个月前的累计数
F(5)=F(1)+F(2)+F(3)      =F(4)+F(3)
F(6)=F(1)+F(2)+F(3)+F(4) =F(5)+F(4)
同样的道理
F(i)=F(i-1)+F(i-2)
把F()从1到24合计就是总数了
所以说方法是对的,但数字却算错了。


f1=2          '第一个月有两只
f2=0          '在这里按单只来算,反正倍数关系是一样的
s=f1+f2
for i=3 to 24 '从第三个月开始计算才会有前两月的实际数字
  f3=f1+f2    '想当于 F(i)=F(i-1)+F(i-2)
  s=s+f3      '加到总数去
  f1=f2
  f2=f3       '这两句相当于把F(i),F(i-1)移位到F(i-1),F(i-2)
next
print s

不是你提醒我还真想不到还可以把程序缩写
算出来的结果和我前面算的是一样的92736

16 楼

大家讨论的解法好多啊~现公布标准答案只有一个:
  题意:求1+1+2+3+5+8+13+21.....之和.
  这个题还有不严格的地方:即将兔子一出生就算一个月,生长周期实际间隔才2个月.然而原题的文字明明要求间隔3个月.
  f1=1
  f2=1
  s=0
  FOR i%=3  TO  24
   f3=f2+f1
   f1=f2
   f2=f3
   
  NEXT i%
  PRINT  f3
  END
  f3=46368


17 楼

不好意思上式写错~~~
正确的程序:
  f1=1
  f2=1
  s=0
  FOR i%=3 to 24
  f3=f1+f2
  f1=f2
  f2=f3
  s=s+f3
  NEXT i%
  PRINT s+2
  END
结果:121392
打印出1--24个月每月兔子对数:
   cls
   f1=1
   f2=1
  PRINT f1,f2,
  FOR i%=3 to  24
  f3=f1+f2
  PRINT f3,
  f1=f2
  f2=f3
  NEXT i%
  PRINT  s+2         "2为第1个月和第2月兔子的和"
  END
结果:   1          1             2         3         5
        8          13            21        34        55
        89          144          233       377       610
        987         1597         2584      4181     6765
       10946        17711          28657     46368
总和:121392
  

18 楼

15楼?你怀疑我的能力?[em6]

19 楼

你说对了。

20 楼

我是新人啊
是什么意思啊?

我来回复

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