回 帖 发 新 帖 刷新版面

主题:求助十万火急

一头大牛每年生一头小牛,每头小牛到第五年成为大牛也开始每年生一头小牛,这样到第十年一共有多少头牛.
A   B   C   D  E
1              1
1           1  1
1       1   1  1
1   1   1   1  1
2   1   1   1  2
3   1   1   2  3
4   1   2   3  4
5   2   3   4  5
7   3   4   5  7
10  4   5   7  10
不会编QBASIC程序,不知那位高手可以帮忙,多谢.

回复列表 (共5个回复)

沙发

INPUT "n"; n
OPTION BASE 1
DIM a(n) AS INTEGER
IF n <= 4 THEN
   FOR i = 1 TO n
      a(i) = i+1
   NEXT i
ELSE
   FOR i = 1 TO 4
      a(i) = i+1
   NEXT i
   FOR i = 5 TO n
      a(i) = a(i - 1) + i - 3
   NEXT i
END IF
PRINT a(n)
END

板凳


谢谢,但不对,请高手帮忙!!!!!!!!!!!

3 楼

已解决:
   1
 INPUT "n"; n
OPTION BASE 1
DIM a(n) AS INTEGER
     FOR i = 1 TO 4
      a(i) = i+1
   NEXT i
   FOR i = 5 TO n
      a(i) = a(i - 1) + a(i - 4)
   NEXT i
PRINT a(n)
END
2
OPTION BASE 1
DIM a(10) AS INTEGER
     FOR i = 1 TO 4
      a(i) = i+1
   NEXT i
   FOR i = 5 TO 10
      a(i) = a(i - 1) + a(i - 4)
   NEXT i
PRINT a(10)
END

尽管你的不对,但给了我启发,多谢.

4 楼

昨晚想给你正确答案的
结果宿舍停电了!!
结果和你差不多
关键就在这一步a(i)=a(i-1)-a(i-4)
想到了就知道了!

5 楼

你的问题不难,加上你已经做出来了,就不给你发了.
如果这样可就难了:
一头小牛在3岁及以后每年都要生一头小牛,但每头牛只能活6年,问在20年后有多少牛?
这必须要用一个数组,来存放每头牛活了多少年.
CLS
DIM a(32000) AS INTEGER
s = 1: a(s) = 1
FOR i = 2 TO 20
    FOR j = 1 TO s
        a(j) = a(j) + 1
        IF a(j) >= 3 AND a(j) <= 6 THEN s = s + 1: a(s) = 1
        IF a(j) > 6 THEN s = s - 1
    NEXT j
NEXT i
PRINT s
END
运行结果:683

我来回复

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