求解斐波拉契数列

来源:互联网 发布:淘宝客服子取名字大全 编辑:程序博客网 时间:2024/06/06 03:26

斐波拉契数列:

1,1,2,3,5,,,

从第三个数开始,每个数是前两个数之和

求解第N个数的值。


求解过程用到递归思想,即第N个数的值等于第N-1个数的值加上第N-2个数的值,同理可求N-1与N-2的值

递归问题有两个要点:递推公式和返回条件,地推公式即每个数是其前两个数之和

只有递推公式而无返回条件,递归会一直不停进行下去,程序奔溃,所以必须要有返回条件结束递归

本题中易知,返回条件为N-1/N-1等于1或2时,返回已知值1,否则返回其前两个数之和

代码如下

#include<iostream>#include<cstdlib>using namespace std;int Fb(int n);int main(){int n;cin >> n;cout << Fb(n);system("pause");return 0;}int Fb(int n){if (n == 1 || n == 2)return 1;elsereturn Fb(n - 1) + Fb(n - 2);}


原创粉丝点击