LeetCode:509. Fibonacci Number斐波那契数(C语言)
发布日期:2021-05-08 18:45:05 浏览次数:20 分类:精选文章

本文共 610 字,大约阅读时间需要 2 分钟。

斐波那契数列是一个经典的数列问题,其定义为:F(0)=0,F(1)=1,之后的每一项都是前两项的和。给定一个整数n,计算F(n)的值。

方法思路

为了高效计算斐波那契数列的第n项,我们采用迭代法。这种方法通过逐步计算每一项,避免了递归的重复计算和性能问题。具体步骤如下:

  • 初始化前两项的值:F(0)=0,F(1)=1。
  • 对于n=0,直接返回0。
  • 对于n=1,直接返回1。
  • 对于n>=2,使用循环从2计算到n,每次计算当前项并更新前两项的值。
  • 这种方法的时间复杂度为O(n),空间复杂度为O(1),能够在合理时间内处理n的范围到30。

    解决代码

    int fib(int n) { if (n == 0) return 0; if (n == 1) return 1; int a = 0, b = 1, c; for (int i = 2; i <= n; i++) { c = a + b; a = b; b = c; } return b;}

    代码解释

    该函数使用迭代法来计算斐波那契数列的第n项:

    • 当n为0时,返回0。
    • 当n为1时,返回1。
    • 对于n>=2,初始化前两项为0和1,然后从2循环到n,每次计算当前项并更新前两项的值,最终返回第n项的值。

    这种方法确保了计算的高效性和正确性,能够在合理时间内处理较大的n值。

    上一篇:PWN
    下一篇:【个人网站搭建】GitHub pages+hexo框架下为next主题添加分类及标签

    发表评论

    最新留言

    感谢大佬
    [***.8.128.20]2025年04月01日 16时02分20秒