斐波那契数列: 1 1 2 3 5 8…… N

 

斐波那契递归方式:

#include <cstdio>
#include <cstdlib>
#include <iostream>

// 1 1 2 3 5 8......
int fib_di(unsigned int n)
{
	if (n == 1)
	{
		return 1;
	}
	else if (n == 2)
	{
		return 1;
	}
	else
	{
		return(fib_di(n - 1) + fib_di(n - 2));
	}
}


int main(void)
{
	int num;
	std::cout << "num = ";
	std::cin >> num;
	std::cout << fib_di(num) << std::endl;

	system("pause");
	return 0;
}

  

斐波那契循环的方式:

#include <cstdio>
#include <cstdlib>
#include <iostream>

// 1 1 2 3 5 8......

int fib_xun(unsigned int n)
{
	int a1 = 1;
	int a2 = 1;
	int fn = 0;

	if (n == 1)
	{
		return a1;
	}
	else if (n == 2)
	{
		return a2;
	}
	else
	{
		while(n > 2)
		{
			fn = a1 + a2;
			a1 = a2;
			a2 = fn;
			n--;
		}
	}
	return fn;
}


int main(void)
{
	int num;
	std::cout << "num = ";
	std::cin >> num;
	std::cout << fib_xun(num) << std::endl;

	system("pause");
	return 0;
}

  

版权声明:本文为chien-ma原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/chien-ma/articles/10696941.html