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)); }