斐波那契数列
    1,1,2,3,5,8…..
    fib(n) = fib(n-1) + fib(n-2);
    实现

    1. // 普通递归
    2. function originfib (n) {
    3. console.log(n);
    4. if (n === 1 || n === 2) {
    5. return 1;
    6. }
    7. return originfib(n - 1) + originfib(n - 2);
    8. }
    9. // 改进递归 v1 v2存值,
    10. function fibonacci (n) {
    11. function fib (n, v1, v2) {
    12. console.log(n, v1, v2);
    13. if (n === 1) {
    14. return v1;
    15. } else if (n === 2) {
    16. return v2;
    17. } else {
    18. return fib(n - 1, v2, v1 + v2);
    19. }
    20. }
    21. return fib(n, 1, 1);
    22. }
    23. // 循环
    24. function fibFor (n) {
    25. var n1 = 1, n2 = 1, sum = 1;
    26. for (let i = 2; i < n; i++) {
    27. sum = n1 + n2;
    28. n1 = n2;
    29. n2 = sum;
    30. console.log(sum);
    31. }
    32. return sum;
    33. }
    34. // 循环 + 解构赋值
    35. function newFibFor (n) {
    36. var n1 = 1, n2 = 1;
    37. for (let i = 2; i < n; i++) {
    38. [n1, n2] = [n2, n1 + n2];
    39. }
    40. return n2;
    41. }

    https://www.cnblogs.com/superlizhao/p/11603158.html
    https://blog.csdn.net/weixin_43738731/article/details/84256666