Java 中的递归斐波那契算法


斐波那契数列是一种数列,其中的每个数字都是前两个数字之和。可以使用递归方法获取斐波那契数列中某特定位置的数字。

演示该方法的程序如下

示例

 在线演示

public class Demo {
   public static long fib(long n) {
      if ((n == 0) || (n == 1))
         return n;
      else
         return fib(n - 1) + fib(n - 2);
   }
   public static void main(String[] args) {
      System.out.println("The 0th fibonacci number is: " + fib(0));
      System.out.println("The 7th fibonacci number is: " + fib(7));
      System.out.println("The 12th fibonacci number is: " + fib(12));
   }
}

输出

The 0th fibonacci number is: 0
The 7th fibonacci number is: 13
The 12th fibonacci number is: 144

接着让我们来理解一下上面的程序。

fib() 方法计算第 n 个位置的斐波那契数。如果 n 等于 0 或 1,它将返回 n。否则,它将递归调用自身并返回 fib(n - 1) + fib(n - 2)。展示该方法的代码片段如下所示

public static long fib(long n) {
   if ((n == 0) || (n == 1))
      return n;
   else
      return fib(n - 1) + fib(n - 2);
}

在 main() 中,对 fib() 方法使用不同的值进行调用。展示该方法的代码片段如下所示

public static void main(String[] args) {
   System.out.println("The 0th fibonacci number is: " + fib(0));
   System.out.println("The 7th fibonacci number is: " + fib(7));
   System.out.println("The 12th fibonacci number is: " + fib(12));
}

更新于: 2019 年 7 月 30 日

10K+ 浏览量

开启您的 职业生涯

完成课程获得认证

马上开始
广告