主题:关于生小母牛的题目(以前贴过但我自己又编出问题)
96131
[专家分:0] 发布于 2006-04-14 15:18:00
题目:假设小母牛从第四年开始每年生一头小母牛,若现有一头小母牛,请问第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个回复)
沙发
96131 [专家分:0] 发布于 2006-04-15 21:43:00
没人帮忙吗?
板凳
jimnameboard [专家分:130] 发布于 2006-04-15 22:58:00
你对变量C没有赋初值啊!
3 楼
96131 [专家分:0] 发布于 2006-04-17 16:45:00
为啥没人帮忙?我等了3天,有谁能帮帮我,谢谢
4 楼
96131 [专家分:0] 发布于 2006-04-19 10:45:00
还是没人帮忙
5 楼
96131 [专家分:0] 发布于 2006-04-19 10:45:00
继续等待中,朋友们帮帮忙吧
6 楼
贺天行宝 [专家分:2300] 发布于 2006-04-19 20:48:00
我看不懂你那个方法
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 楼
贺天行宝 [专家分:2300] 发布于 2006-04-19 20:50:00
a数组存结果
s存几头牛生了出来
m是现在几头牛能生孩子
8 楼
96131 [专家分:0] 发布于 2006-04-20 09:02:00
谢谢贺天行宝,可惜只能给你加50分,多了系统不给加,如果还有题目麻烦你发到我信箱好吗?我代表我的孩子们先谢谢你了
邮箱:131jj@163.com
9 楼
maxumi [专家分:2200] 发布于 2006-04-20 15:19:00
建一个数组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 楼
96131 [专家分:0] 发布于 2006-04-20 17:46:00
maxumi
太谢谢你的思路了,我给你加分,再次谢谢
我来回复