
LeetCode:509. Fibonacci Number斐波那契数(C语言)
初始化前两项的值:F(0)=0,F(1)=1。 对于n=0,直接返回0。 对于n=1,直接返回1。 对于n>=2,使用循环从2计算到n,每次计算当前项并更新前两项的值。
发布日期:2021-05-08 18:45:05
浏览次数:20
分类:精选文章
本文共 610 字,大约阅读时间需要 2 分钟。
斐波那契数列是一个经典的数列问题,其定义为:F(0)=0,F(1)=1,之后的每一项都是前两项的和。给定一个整数n,计算F(n)的值。
方法思路
为了高效计算斐波那契数列的第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值。
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年04月01日 16时02分20秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
华为云FusionInsight湖仓一体解决方案的前世今生
2019-03-06
大数据处理黑科技:揭秘PB级数仓GaussDB(DWS) 并行计算技术
2019-03-06
C++调用Go方法的字符串传递问题及解决方案
2019-03-06
云原生2.0时代下,DevOps实践如何才能更加高效敏捷?
2019-03-06
技巧收藏|10个JavaScript常用数组操作方法
2019-03-06
两种端到端通用目标检测方法
2019-03-06
云小课 | 守护网络安全不是问题,iptables的四表五链为你开启“八卦阵”
2019-03-06
LiteOS内核源码分析:任务栈信息
2019-03-06
23种设计模式之迭代器模式
2019-03-06
23种设计模式之组合模式
2019-03-06
mysql zip安装
2019-03-06
mysql修改密码
2019-03-06
virtualbox中 Kali Linux安装增强功能
2019-03-06
virtualbox中 Ubuntu挂载共享文件夹
2019-03-06
Python 内置函数笔记
2019-03-06
BootStrapTable 错误
2019-03-06
PHP 脚本不报错
2019-03-06
代码整洁之道小结
2019-03-06
悲观锁与乐观锁
2019-03-06
js new Date 创建时间默认是8点
2019-03-06