美文网首页
斐波纳契数列各种解法

斐波纳契数列各种解法

作者: HOULI | 来源:发表于2021-08-16 17:06 被阅读0次

1、求第n个斐波纳契数?

第一种解法:使用递归方式

 /**
 *  斐波那数列
 *
 *  0 1 1 2 3 5 8 。。。。
 *
 *  使用递归方式 思路 就是 当n <=1的时候直接返回 0或者1 只有从n=2到开始计算   数列的和 =  第一个数 + 第二个数  也就是 sum = (n-1) + (n-2);
 *使用这个递归方式 如果是n比较大 算法上 耗时比较长 有性能问题 设置个n=65 就卡住了
 * @param n
 */  
public static   int  fib1(int n){
     //如果不做这个判断那就死循环了
    if (n <= 1) return n;

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

}

第二种解法:使用for循环

 /**
 *  斐波那数列
 *
 *  0 1 1 2 3 5 8 。。。。
 *
 *  使用递归方式 思路 就是 当n <=1的时候直接返回 0或者1 只有从n=2到开始计算   数列的和 =  第一个数 + 第二个数  也就是 sum = (n-1) + (n-2);
 *使用这个递归方式 如果是n比较大 算法上 耗时比较长 
     * @param n
   */  
  public static   int  fib2(int n){
    if (n <= 1) return n;
    int first = 0;
    int second = 1;

    for (int i =0 ;i< n-1;i ++){
      int sum = first + second;
      first = second;
      second =sum;
    }
    return  second;
}

相关文章

  • 斐波纳契数列各种解法

    1、求第n个斐波纳契数? 第一种解法:使用递归方式 第二种解法:使用for循环

  • 366. 斐波纳契数列

    查找斐波纳契数列中第 N 个数。所谓的斐波纳契数列是指: 斐波纳契数列的前10个数字是: 0, 1, 1, 2, ...

  • JavaScript|斐波纳契数列

    斐波纳契数列定义: 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波...

  • 我的python学习笔记-第八天

    先编个小程序 我们尝试来写一个斐波纳契数列。先说下啥是斐波纳契数列。事情是这样的:斐波那契数列(Fibonacci...

  • 尾递归优化的斐波那契数列

    斐波那契数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(...

  • 递归优化的斐波那契数列

    斐波那契数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(...

  • 斐波那契数,计算与分析

    什么是斐波那契数列? 斐波那契数列(Fibonacci sequence)是以意大利数学家列昂纳多·斐波那契的名字...

  • 斐波那契数列

    题目: 写一个函数,输入n,求斐波那契数列的第n项。 思路: 什么是斐波那契数列呢? 斐波纳契数列(Fibonac...

  • Python 斐波那契数列的几种实现

    先说下,什么是斐波那契数列? 斐波那契(Fibonacci)数列,又称黄金分割数列,因数学家列昂纳多·斐波那契(L...

  • 有序表查找 - 斐波那契查找

    了解斐波那契查找之前先来了解下斐波那契额数列。 斐波那契数列,又称黄金分割数列,因数学家列昂纳多·斐波那契以兔子繁...

网友评论

      本文标题:斐波纳契数列各种解法

      本文链接:https://www.haomeiwen.com/subject/kdtvbltx.html