什么是斐波那契数列?
斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契斐波那契斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称“兔子数列”,其数值为:1、1、2、3、5、8、13、21、34……在数学上
一.细讲数列:
画的不好,大家凑合着看.大致的意思就是:前两位的和等于第3位
二.细讲运算方法:
递归计算:
int fbnq(int n) { if (n <= 2) return 1; else return fbnq(n - 1) + fbnq(n - 2); } int main() { int n=0; int c=0; printf("输入数"); scanf("%d",&n); c=fbnq(n); printf("%d",c); return 0; }
但是递归在计算时,有一个致命的缺陷就是,数字大的时候需要非常大的工作量,会导致计算时间非常 的长,且都是重复的步骤。
迭代计算:
这个时候我们想到递归和迭代的区别,我在递归和迭代详解中详细的讲述了两者区别,当一个问题相当复杂,难以用递归实现时,此时迭代实现的简洁性便可以补偿它所带来的运行时开销
int fbnq(int n) { int a, b, c; a = 1; b = 1; c = 0; if (n <= 2) { return 1; } while (n > 2) { n--; c = a + b; a = b; b = c; } return c; } int main() { int n = 0; int c = 0; printf(":"); scanf("%d", &n); c = fbnq(n); printf("%d", c); return 0; }