Chinaunix首页 | 论坛 | 博客
  • 博客访问: 996676
  • 博文数量: 135
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1780
  • 用 户 组: 普通用户
  • 注册时间: 2016-12-21 22:26
个人简介

90后空巢老码农

文章分类

全部博文(135)

文章存档

2020年(32)

2019年(54)

2018年(47)

2017年(1)

我的朋友

分类: C/C++

2018-07-15 21:49:33

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

点击(此处)折叠或打开

  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. }
最近事情有点多,见谅见谅~
阅读(1551) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~