回 帖 发 新 帖 刷新版面

主题:关于生小母牛的题目(以前贴过但我自己又编出问题)

题目:假设小母牛从第四年开始每年生一头小母牛,若现有一头小母牛,请问第15年共有母牛多少头?(所有牛都存活.)

我看过以前贴过的程序,不知为啥我和同学根据自己的理解又编了,但是不知道对不对,请大家帮看看,有错清指出,最有能给出改进后的程序(最好简单易懂的),谢谢了。

var a,b,c:integer;
   begin
       a:=12;
      repeat
        a:=a-3;
        for b:=1 to a do
            c:=c+b;
      until a=3;
    writeln(c+12);
   readln;
   end.

回复列表 (共10个回复)

沙发

没人帮忙吗?

板凳


你对变量C没有赋初值啊!

3 楼

为啥没人帮忙?我等了3天,有谁能帮帮我,谢谢

4 楼

还是没人帮忙

5 楼

继续等待中,朋友们帮帮忙吧

6 楼

我看不懂你那个方法
15年因该是129头
你这是tju上的巴
这是我写的
var
  a:array[1..51]of int64;
  s:array[-1..51]of int64;
  i,j,k,l,r,m,n:longint;
begin
  s[1]:=1;n:=1;m:=0;a[1]:=1;
  for i:=2 to 51 do
    begin
      m:=m+s[i-3];
      a[i]:=a[i-1]+m;
      s[i]:=m;
    end;
  while not eof do
    begin
      read(i);
      writeln(a[i]);
    end;
end.


输入年份

7 楼

a数组存结果
s存几头牛生了出来
m是现在几头牛能生孩子

8 楼

谢谢贺天行宝,可惜只能给你加50分,多了系统不给加,如果还有题目麻烦你发到我信箱好吗?我代表我的孩子们先谢谢你了
邮箱:131jj@163.com

9 楼

建一个数组x.
x[1]=第1年的牛.
x[2]=第2年的牛.
x[3]=第3年的牛.
x[4]=可以生小牛的牛(>=4岁).

从第一年开始推,则第二年的状态:
t:=x[4];              (新生的牛)
x[4]:=x[4]+x[3];      (第3年的牛长了一岁)
x[3]:=x[2];           (第2年的牛长了一岁)
x[2]:=x[1];           (第1年的牛长了一岁)
x[1]:=t;              (新生的牛)
依此类推.

10 楼

maxumi
太谢谢你的思路了,我给你加分,再次谢谢

我来回复

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