古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月 后每个月又生一对兔子,假如兔子都不死,问某个月的兔子总数为多少?
下面有三种方法 我想请教高手指点一下 再看看;有没有别的方法了
#include<stdio.h>
void main()
{
int a[100] ,i,n;
printf("请输入月数:\n");
scanf("%d",&n);
a[0]=a[1]=1;
for(i=2;i<n;i++)
a[i]=a[i-1]+a[i-2];
printf("%d\n",a[n-1]);
}
#include<stdio.h>
void main()
{
long f1,f2;
int i,n,m;
f1=f2=1;
printf("输入月数:\n");
scanf("%d",&n);
for(i=3;i<=n;i++)
{
m=f2;
f2+=f1;
f1=m;
}
printf("%d\n",f2);
}
#include <stdio.h>
int rabbit(int n)
{
if (n<=0)
{
printf("error");
return 0;
}
if(n==1||n==2)
return 1;
if (n>2)
return rabbit(n-1)+rabbit(n-2);
}
void main ()
{
int n;
printf("intput month:\n");
scanf("%d",&n);
n=rabbit(n);
printf("%d\n",n);
}