// 方式一 let fibnacci = n => n <=0 ? 0 : n ==1 ? 1 : fibnacci(n -2) + fibnacci(n -1);
//时间复杂度 O(logn)
// 方式二 let fib = n => { if(n==0){ return 0; } let a1 = 0,a2=1; for(let i = 1; i < n;i++){ [a1,a2] = [a2,a1+a2] } return a2; }
// 时间复杂度O(n)
// 方式三
let fib = n => (Math.pow((1 + Math.sqrt(5))/2,n) - Math.pow((1 - Math.sqrt(5))/2,n)) / Math.sqrt(5);