大话数据结构之斐波那契数列

//04斐波那契函数_Fibonacci
#include "stdio.h"

int Fbi(int i)  /* 斐波那契的递归函数 */
{
	if (i < 2)
		return i == 0 ? 0 : 1;
	return Fbi(i - 1) + Fbi(i - 2);  /* 这里Fbi就是函数自己,等于在调用自己 */
}
//0 1 1 2 3 
int main()
{

	int i;
	int a[40];
	printf("迭代显示斐波那契数列:\n");
	a[0] = 0;
	a[1] = 1;
	printf("%d ", a[0]);
	printf("%d ", a[1]);
	for (i = 2; i < 40; i++)
	{
		a[i] = a[i - 1] + a[i - 2];
		printf("%d ", a[i]);
	}
	printf("\n");

	printf("递归显示斐波那契数列:\n");  //不建议用递归,太慢,尽可能写成for循环
	for (i = 0; i < 40; i++)
		printf("%d ", Fbi(i));
	
/*例如  可以参考剑指Offer里面的条目有几道类似的题目
	
	if(fd == 0)
	{
		return 0;	
	}
	else if(fd == 1)
	{
		return 1;
	}
	else
	{
		int fd = 0;
		int fd1 = 1;
		int i = 0;
		for(i  = 0;i<40;i++)
		{
			int fd2 = fd1+fd;
			fd = fd1;
			fd1 = fd2;
		}
	}

*/


	return 0;
}
发布了159 篇原创文章 · 获赞 56 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/qq_35433716/article/details/89681095