一.什么是斐波那契数列
简单来说,斐波那契数列就是一组有规律的数,第一个和第二个数都为1,第三个数为第一个和第二个数之和,以此类推,从第三个数开始,每个数的值都是前面两个数的值之和。
二.递归法解决斐波那契数列
二.1.我们可以写一个程序来快速找个第n个斐波那契数,我们知道,从第三个斐波那契数开始,每个斐波那契数的值都是前两个斐波那契数的值之和,即有feibo(n)=feibo(n-1)+feiobo(n-2),那么,我们可以用递归的方式来快速找到第n个斐波那契数(用此方法计算第n个斐波那契数,若n较大时,程序执行次数过多,消耗时间过长,所以不推荐这种方法)
递归结束的条件是n=1或者n=2,因为第一个和第二个斐波那契数的值我们知道都是1,如果不符合递归结束的条件,那么return feibo(n-1)和feibo(n-2),这样,我们即符合斐波那契数的递推公式,又能够让每次函数执行都能够趋近于结束条件。
代码演示
这里我们可以知道,第十个斐波那契数就是55。
三.数组法解决斐波那契数列问题
既然从第三个数开始,每个数的值都是前面两个数的值之和,那么我们不妨创建一个数组,把数组的第一个和第二个元素初始化为1,后面数组的每个数都等于前面两个元素的和,这样我们就可以快速找到第n个斐波那契数了
好了,这里就是解决C语言解决斐波那契数列的两种方式。