由小兔子产生的经典算法--费式数列

Posted Hensenberg_Posion

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了由小兔子产生的经典算法--费式数列相关的知识,希望对你有一定的参考价值。

题目描述

Fibonacci为1200年代的欧洲数学家,在他的着作中曾经提到:「若有一只免子每个月生一只小免 子,一个月后小免子也开始生产。起初
只有一只免子,一个月后就有两只免子,二个月后有三 只免子,三个月后有五只免子(小免子投入生产)…。 如果不太理解这个例子的
话,举个图就知道了,注意新生的小免子需一个月成长期才会投入生 产,类似的道理也可以用于植物的生长,这就是Fibonacci数列,一般
习惯称之为费氏数列,例 如以下: 1、1 、2、3、5、8、13、21、34、55、89…
这个数列也叫做斐波拉契数列,现在需要我们求这个数列的第n个数是多少。

题目解法

这应该是最简单的递归算法了,我觉得应该没有最简单的了。看代码就会了。

#include<iostream>
using namespace std;
class Solution
{
public:
	int fiboNum(int n)
	{
		if (n == 1 || n == 2)    //这是递归出口
			return 1;     
		else
		{
			return fiboNum(n - 1) + fiboNum(n - 2);  //这里进行递归调用
		}
	}
};

int main()
{
	Solution S;
	cout << "the tenth number is :" << endl;
	cout << S.fiboNum(10) << endl;
	return 0;
}

在这里插入图片描述

以上是关于由小兔子产生的经典算法--费式数列的主要内容,如果未能解决你的问题,请参考以下文章

matlab算法之费式数列

费式数列(Fibonacci数列)

C语言100个经典算法源码片段

25道经典Java算法题

兔子生兔子问题(斐波那契数列)

生兔子的经典编程算法