首页 > 试题广场 >

斐波那契数列

[编程题]斐波那契数列
  • 热度指数:6194 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解

形如1, 1, 2, 3, 5, 8, 13, 21, 34, 55的数列,后一位是前面两位相加(斐波那契数列),写出函数要求找到第 N 位是多少,如:fib(3) => 3 fib(5) => 8, 要求时间复杂度为O(n)


输入描述:

输入一个正整数N(0<=N<=50)



输出描述:

输出第n项的数值

示例1

输入

3

输出

3
示例2

输入

5

输出

8
这个题用递归来做就简单很多吧,望采纳
function fib(num){
  if(num === 0 || num ===1){    //如果输入的是0,1,则返回1,递归终止条件
    return 1
  }
  return fib(num-1) + fib(num-2) //返回前一个,和前前一个数列的和
}



编辑于 2021-08-11 14:11:33 回复(1)

问题信息

上传者:小小
难度:
1条回答 7838浏览

热门推荐

通过挑战的用户