主题:[讨论]求助:母牛生小牛问题
			
 xuxu1991
				 [专家分:0]  发布于 2005-03-22 21:50:00							
			[em18][em18][em18]
[b]一头小母牛,从出生第4年起每年生一头小母牛,以此类推, 第n年是有几头母牛?[/b]
希望各位大虾快快解答!!
						
					 
		
			
回复列表 (共13个回复)
		
								
				沙发
				
					
xsbccf [专家分:20]  发布于 2005-03-23 07:43:00				
				此题其实不难,程序如下:
var n,m,i:longint;
begin
readln(n);
for i:=0 to n div 4 do
m:=round(exp(i*ln(2));
writeln(m);
end.
							 
						
				板凳
				
					
qzs123 [专家分:0]  发布于 2006-03-31 12:52:00				
				一楼的答案是错的,我试过了.......
[em20][em12][em7]
不信去看以下网址:
http://acm.tongji.edu.cn/showproblem.php?problem_id=1005
							 
						
				3 楼
				
					
实验小学 [专家分:30]  发布于 2006-04-02 10:45:00				
				var
  j,n:integer;
begin
  writeln('n=');
  readln(n);
  j:=n-3;
  writeln(j);
end.
别想复杂了
							 
						
				4 楼
				
					
hevole [专家分:70]  发布于 2006-04-07 14:05:00				
				这道题的其实就是一个等比数列
解析是这样的
(为了简单说明 下面的解析中 抛去了“4岁以上的牛才能生小牛”的条件)
设一头牛的年龄是n,b(n)为第
则b(n)=b(n-1)+b(n-2)+...+b(1)   (1
  b(n-1)=b(n-2)+b(n-3)...b(1)     (2
 再把(2 式代入(1 式 得到
  b(n)=b(n-1)+[b(n-2)+b(n-3)...-b(1)]
      =b(n-1)*2
其中b(1)=1
这就是等比数列了~~
							 
						
				5 楼
				
					
hevole [专家分:70]  发布于 2006-04-11 10:14:00				
				b(n)是n岁的牛可生的小牛数
							 
						
				6 楼
				
					
bixuan [专家分:100]  发布于 2006-04-11 19:27:00				
				用递归算法,既第n年的牛数=第n-1的牛数+第n-2的牛数
n(1)=1;n(2)=1;
							 
						
				7 楼
				
					
96131 [专家分:0]  发布于 2006-04-12 10:34:00				
				路过,可惜我自己还不够理解,没看懂!
							 
						
				8 楼
				
					
96131 [专家分:0]  发布于 2006-04-14 15:34:00				
				我自己理解编的不知道对吗?好像有问题
							 
						
				9 楼
				
					
96131 [专家分:0]  发布于 2006-04-14 15:35:00				
				不好意思上一贴忘了上程序了
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 楼
				
					
maxumi [专家分:2200]  发布于 2006-04-20 15:14: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;              (新生的牛)
依此类推.
							 
									
			
我来回复