本次主题---》斐波那契数列!!!比较老套的题目了,一看到这个题目,就想起兔子。。。
两种解法:递归;迭代~
先看递归:

点击(此处)折叠或打开

  1. int fib(int n){
  2.     if(n==0||n==1) return n;
  3.     else return( fib(n-1)+fib(n-2));
  4. }

这种解法的缺点就是太耗资源,于是有人提出用dp解决,但是一般dp都能够用迭代来降低一个维度,所以就有了如下的代码:

点击(此处)折叠或打开

  1. int fib2(int n){
  2.     if(n==0||n==1) return n;
  3.     int res, first = 0, second=1;
  4.     for(int i = 2; i <=n; i++){
  5.         res = first + second;
  6.         first = second;
  7.         second = res;
  8.     }
  9.     return res;
  10. }
最近事情有点多,见谅见谅~
10-27 18:51
查看更多