这是一个有趣的古典数学问题Fibonacci兔子问题

数组写法`

# include<stdio.h>
int main()
{
	int n,array[1000],a;
	array[1]=1;array[2]=1;//为第一二月兔子数量赋初值
	scanf("%d",&n);
	for(a=3;a<=n;a++)
	{
		array[a]=array[a-1]+array[a-2];
	}
	printf("%d",array[n]);
	return 0;
}

递归算法

# include<stdio.h>
long fib(int n)
{
	return (n<=2)?1:fib(n-1)+fib(n-2);
}
int main()
{
	int a,b,n;
	scanf("%d",&n);
	printf("%d",fib(n));
	return 0;
}

递归算法比较直观但是算法效率低,占用较大的内存空间。

发布了43 篇原创文章 · 获赞 1 · 访问量 827

猜你喜欢

转载自blog.csdn.net/Du798566/article/details/104183170