码迷,mamicode.com
首页 > 其他好文 > 详细

斐波那契(Fibonacci)数列(sequence)的求法一二

时间:2021-01-12 10:34:15      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:ase   lan   定义   turn   for   复杂   空间复杂度   斐波那契   cpp   

  • 定义Fibonacci的第0项为0,第1项为1,使用C代码求出第n项
// 递归方法, 特点:容易实现,时间空间复杂度高
int fib(int n) {
    // 入参合法判断
    if (n < 0) {
      return -1;
    }
    // 基线条件(base case)
    if (n < 2) {
        return n;
    }
    return fib(n - 1) + fib(n - 2);
}
// 循环,  特点:速度快,内存占用少
int fib(int n) {
    // 入参合法判断
    if (n < 0) {
      return -1;
    }
    int f0 = 0, f1 = 1, f2;
    int i;
    if (n < 2) {
        return n;
    }
    for(i = 1; i < n; i++) {
        f2 = f0 + f1;
        f0 = f1;
        f1 = f2;
    }
    return f2;
}

斐波那契(Fibonacci)数列(sequence)的求法一二

标签:ase   lan   定义   turn   for   复杂   空间复杂度   斐波那契   cpp   

原文地址:https://www.cnblogs.com/wangshaodong/p/14033383.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!