Как отобразить цифры в консоли, без цикла? - PullRequest
1 голос
/ 11 июня 2019

задача - создать рекурсию, отображающую числа Фибоначчи.Мне нужно отобразить цепочку чисел чисел Фибоначчи в консоли, без (для) цикла.

Я оптимизировал рекурсию и отобразил числа с циклом (for).

        "use strict";
        var arr = []
        let skkak = function(n)
        {
          if (n <= 1)
          {
            return n;
          }
          if(!isNaN(arr[n])){
            return arr[n];
          }

          else
          {
            let result = skkak(n - 1) + skkak(n - 2)
            arr[n] = result;
            return result;
          }
        }

        for(let i=12; i > 0; i--)
        {
        console.log(skkak(i));
        }

без ошибок

1 Ответ

3 голосов
/ 11 июня 2019

Эта версия использует , в то время как (не рекурсивно)

        "use strict";
        var arr = []
        let skkak = function(n)
        {
          if (n <= 1)
          {
            return n;
          }
          if(!isNaN(arr[n])){
            return arr[n];
          }

          else
          {
            let result = skkak(n - 1) + skkak(n - 2)
            arr[n] = result;
            return result;
          }
        }
       let i = 12;
       while(i > 0)
        {
          console.log(skkak(i));
          i--;
        }

Рекурсивный подход

fibonacci = (n) =>
{
  if (n===1) 
  {
    return [0, 1];
  } 
  else 
  {
    let s = fibonacci(n - 1);
    s.push(s[s.length - 1] + s[s.length - 2]);
    return s;
  }
};

console.log(fibonacci(5)); // [0,1,1,2,3,5]
...