Упражнение по написанию кода 9: (**) Задача с собеседований на числа Фибоначчи

Задание


Создайте функцию, которая будет принимать в себя один аргумент - целое положительное число. Она должна возвращать строку, в которой будут через пробел выведены числа Фибоначчи. Причем, их количество должно быть равно переданному аргументу.

Если переданный аргумент не число - вернуть пустую строку. Решать без применения рекурсии.

Пример:

fib(4) => ''0 1 1 2"

fib(7) => ''0 1 1 2 3 5 8"

fib('7') => ''"

fib(1) => "0"

fib(0) => ''"

Код
function fib() {
   
}

Решение


Числа Фибоначчи - это последовательность чисел, в которой каждое число равно сумме двух предыдущих, начиная с 0 и 1. Таким образом, последовательность выглядит как 0, 1, 1, 2, 3, 5, 8, 13, 21, 34 и так далее.

Числа Фибоначчи определяются рекуррентной формулой: F(n) = F(n-1) + F(n-2), где F(0) = 0 и F(1) = 1.

Код
function fib(num) {
  if (typeof(num) !== 'number' || num <= 0 || !Number.isInteger(num)) {
  return "";
  }

  let result = '';
  let first = 0;
  let second = 1;

  for (let i = 0; i < num; i++) {
  if (i + 1 === num) {
  result += `${first}`;
  // Без пробела в конце
  } else {
  result += `${first} `;  
  }

  let third = first + second;  
  first = second;  
  second = third;  
  }
console.log(result);
  return result;
}

fib(4); // 0 1 1 2

Всего комментариев: 0

Имя *:
Email *:
Код *:
Хостинг от uCoz