Поиск ошибок Фибоначчи продолжает возвращаться неопределенным - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь решить проблему Фибоначчи рекурсивным способом и думаю, что получил ошибку в моем коде. Я не могу понять, где она. Пример: fib (4) === 3

function fib(n, array = [0, 1], count = 0) {
  if (n == 0) {
    return 0;
  }
  if (n == 1) {
    return 1;
  }

  array.push(array[count] + array[count + 1]);
  console.log(array)

  if (n === array.length-1) {

    return array.pop()
  }
  fib(n, array, count + 1);
}
let ans=fib(2)
console.log(ans)

1 Ответ

1 голос
/ 18 июня 2020

вы можете сделать таким образом, используя рекурсию

  var i = 0, a = 0, b = 1, c = 0;
  var out = "";
 
  function fibonacci(n){
    i = 0;
    if(i < n){
     out += a + ",";
     c = a + b;
     a = b;
     b = c;
     i++;
     console.log(out);
     fibonacci(n - i); 
   }
  }

  fibonacci(10);
...