课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565
【项目1-Fibnacci序列】
输出Fibnacci序列的第20个数。要求提交两个程序,fib(int n)的实现分别用迭代方法与递归方法实现。
提示:如实现困难,先从讲义看求阶乘的迭代方法与递归方法实现,深入体会后再进行设计。
参考解答:
//迭代法 #include <iostream> using namespace std; int fib(int n); int main() { cout<<fib(20)<<endl; return 0; } //返回Fibnacci序列中的第n个数 int fib(int n) { int f,f1,f2,i; if(n==1) return 0; else if(n==2) return 1; else { f1=0; f2=1; for(i=3;i<=n;++i) { f=f1+f2; f1=f2; f2=f; } } return f2; }
//递归法 #include <iostream> using namespace std; int fib(int n); int main() { cout<<fib(20)<<endl; return 0; } //返回Fibnacci序列中的第n个数 int fib(int n) { if(n==1) return 0; else if(n==2) return 1; else return(fib(n-1)+fib(n-2)); }