Задание
Создайте функцию, которая будет принимать в себя один аргумент - целое положительное число. Она должна возвращать строку, в которой будут через пробел выведены
числа Фибоначчи. Причем, их количество должно быть равно переданному аргументу.
Если переданный аргумент не число - вернуть пустую строку. Решать без применения рекурсии.
Пример:
fib(4) => ''0 1 1 2"
fib(7) => ''0 1 1 2 3 5 8"
fib('7') => ''"
fib(1) => "0"
fib(0) => ''"
Решение
Числа Фибоначчи - это последовательность чисел, в которой каждое число равно сумме двух предыдущих, начиная с 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