斐波那契数列两种算法
斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)
①、递归
public static int Fibonacci(int num) { if (num > 0 && num <= 2) return 1; return Fibonacci(num - 1) + Fibonacci(num - 2); }
②、迭代
public int Fibonacci(int num) { if (num > 0 && num <= 2) return 1; // 设定f1代表第num-2个数,f2代表第num-1; current代表第num个斐波那契队列所对应的数。 int f1 = 1, f2 = 1, current = 0; for (int i = 3; i <= num; i++) { current = f1 + f2; f1 = f2; f2 = current; } return current; }