斐波那契数列

关于斐波那契数列C++中有很多方法表示,以下是其中两种我认为最简洁且好理解

递归法:

long long fei(int n)

{

if(n==1||n==2) return 1;

return fei(n-1)+fei(n-2);

}

n表示斐波那契数列第几项,这种方法虽然简洁,但时间复杂度较高,容易导致运行超时等问题。

迭代法:

long long fei(int n) {

if (n == 1 || n == 2) return 1;

long long a = 1, b = 1;

long long next;

for (int i = 3; i <= n; i++) {

next = a + b;

a = b;

b = next;

}

return b;

}

这种方法相对上种降低了时间复杂度。

当然还有很多方法,比如用数组表示斐波那契数列等,但是有一点是它们都需要注意的,为了防止数据溢出,最好都用long long来定义斐波那契数列。

全部评论

相关推荐

迟缓的斜杠青年巴比Q...:简历被投过的公司卖出去了,我前两天遇到过更离谱的,打电话来问我有没有意向报班学Java学习,服了,还拿我学校一个学长在他们那报班学了之后干了华为OD当招牌
点赞 评论 收藏
分享
自由水:笑死了,敢这么面试不敢让别人说
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务