递归写法,效率低 package algorithm; /** * Created by lijie35 on 2020-01-19 3:21 PM . */ public class Fibonacci { public static void main(String[] args) { System.out.println(fib(1)); } public static int fib(int num) { if (num == 0) return 0; if (num == 1) return 1; return fib(num - 2) + fib(num - 1); } } 高效率斐波那契 package algorithm; /** * Created by lijie35 on 2020-01-19 3:25 PM . */ public class Fibonacci1 { public static void main(String[] args) { System.out.println(Fibonacci1.fib(5)); } public static int fib(int num) { int num0 = 1; int num1 = 0; int all = 0; //计算轮次 for (int i = 2; i <= num; i++) { //f(n)=f(n-1) + f(n-2) all = num0 + num1; //将f(n-1)的值附给f(n-2),个下轮运算使用 num1 = num0; //将计算的总值附给f(n-1)留给下轮使用 num0 = all; } return all; } }