1

Тема: Послідовність Фібоначчі

Доброго дня. Не підкажете, як у функції має виглядати формула послідовності Фібоначчі? Число введене з prompt.

2

Re: Послідовність Фібоначчі

Recursive approach:

function fibonacciRecursive(n) {
  if (n <= 1) {
    return n;
  } else {
    return fibonacciRecursive(n - 1) + fibonacciRecursive(n - 2);
  }
}

Iterative approach:

function fibonacciIterative(n) {
  if (n <= 1) {
    return n;
  } else {
    let a = 0;
    let b = 1;
    for (let i = 2; i <= n; i++) {
      const temp = a + b;
      a = b;
      b = temp;
    }
    return b;
  }
}

Викликати так:

console.log(fibonacciRecursive(5));  // Output: 5
console.log(fibonacciIterative(5));  // Output: 5
Подякували: Nadeg, flatliner2

3

Re: Послідовність Фібоначчі

Для послідовності можна викоритсати генератори.
Наприклад:

function* fibonacci(n) {
  if (n <= 1) {
    return n;
  }

  let current = 0;
  let next = 1;

  while (n--) {
    yield current;
    [current, next] = [next, current + next];
  }
}

або рекурсивно:

function* fibonacci(n, current = 0, next = 1) {
  if (n === 0) {
    return current;
  }

  yield current;
  yield* fibonacci(n - 1, next, current + next);
}
console.log(...fibonacci(Number(prompt("Enter number"))))
Подякували: Nadeg1