养兔子

养兔子

时间: 1ms        内存:64M

描述:

一对成熟的兔子每月能且只能产下一对小兔子,每次都生一公一母,每只小兔子的成熟期是一个月,而成熟后的第二个月才开始生小兔。某人领养了一对小兔子,一公一母,请问第N个月以后,他将会得到多少对兔子。

输入:

测试数据包括多组,每组一行,为整数n(1≤n≤90)。 输入以0结束。

输出:

对应输出第n个月有几对兔子(假设没有兔子死亡现象,而且是一夫一妻制)。

示例输入:

1
2
0

示例输出:

1
2

提示:

参考答案(内存最优[748]):

#include<stdio.h>
int main()
{
	long long int a[100];
	long int b,i;
	do
	{
		scanf("%ld",&b);
		if(b==0)
			break;
		for(i=1;i<=3;i++)
			a[i]=i;
		for(i=4;i<=b;i++)
			a[i]=a[i-1]+a[i-2];
		printf("%lld\n",a[b]);
	}while(b!=0);
	return 0;
}

参考答案(时间最优[0]):

#include<stdio.h>  
   
int main()  
{  
 long long int n,i,s,t,a1,a2;  
        while(scanf("%lld",&n)&&n!=0)  
        {a1=0,a2=1;    
            for(i=1;i<=n;i++)  
    
        {    
                s=a1+a2;  
                t=a2;  
                a2=t+a1;
                a1=t;
  }  
      printf("%lld\n",s); 
        }  
        return 0;  
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注