斐波那契数(C++)

简介: 斐波那契数(C++)

斐波那契数 (通常用 F(n)表示)形成的序列称为 斐波那契数列 。该数列由 0和 1开始,后面的每一项数字都是前面两项数字的和。也就是:

F(0) = 0,F(1) = 1
F(n) = F(n - 1) + F(n - 2),其中 n > 1

给定 n,请计算 F(n)。

示例 1:

输入:n = 2
输出:1
解释:F(2) = F(1) + F(0) = 1 + 0 = 1

示例 2:

输入:n = 3
输出:2
解释:F(3) = F(2) + F(1) = 1 + 1 = 2

示例 3:

输入:n = 4
输出:3
解释:F(4) = F(3) + F(2) = 2 + 1 = 3

提示:

  • 0 <= n <= 30

我的代码:

class Solution {
public:
    int fib(int n) {
        int l = 0, r = 1;
        if (n == 0) return 0;
        if (n <= 2) return 1;
        for (int i = 2; i <= n; ++ i)
        {
            int t = l;
            l = r;
            r = l + t;
        }
        return r;
    }
};


相关文章
|
4月前
|
Java
leetcode-509:斐波那契数
leetcode-509:斐波那契数
472 0
|
4月前
9.求斐波那契Fibonacci数列通项
9.求斐波那契Fibonacci数列通项
26 0
|
4月前
|
机器学习/深度学习 算法
1172:求10000以内n的阶乘
1172:求10000以内n的阶乘
139 0
|
4月前
辗转相除法求最大公约数(使用递归实现)~
辗转相除法求最大公约数(使用递归实现)~
|
9月前
leetcode 509 斐波那契数
今天重新看了下动态规划, 它和递归的区别就是,它是自下而上的。 还了解到状态压缩 如果我们发现每次状态转移只需要 DP table 中的一部分,那么可以尝试用状态压缩来缩小 DP table 的大小,只记录必要的数据 于是就刷了这道简答题,用到了状态压缩
33 0
Fibonacci数列的多种求法
Fibonacci数列的多种求法
63 0
|
机器学习/深度学习 开发工具
斐波那契数列的四种实现
在编程教程中提到斐波那契数列,通常都是用来讲解递归函数。当一个关于 N 的问题可以转换为关于 N - k 的同样问题时,它就可以尝试用递归的思路来解决。
斐波那契数列问题
斐波那契数列问题
83 0