C语言斐波那契数列的算法

一、斐波那契数列的递归算法

int fib(int n)
{
	if (n == 0 || n == 1)
		return n;
	else
		return fib((n - 1) + fib(n - 2));
}

二、斐波那契数列的非递归算法

int Fib(int n)
{
	int x, y, z;
	if (n == 0 || n == 1)
	{
		return n;
	}
	else
	{
		x = 0, y = 1;
		int i;
		for (i = 2; i <= n; i++)
		{
			z = y;
			y = x + y;
			x = z;
		}
		return y;
	}
}

三、函数的调用

#include
int main()
{
	int s;
	s = fib(5);
	printf("%d\n", s);//递归调用


	int i;
	i = Fib(10);
	printf("%d\n", i);//非递归调用
	return 0;
}

以上就是斐波那契数列的算法,不懂请留言!

你可能感兴趣的:(算法,c语言,开发语言)