169 похожих чатов

Салют ребята, кто может объяснить почему в моем примере ответ

21 ? заранее спасибо
function getFibonachi(n)
{
if (n === 0){
return 0;
}
if (n === 1){
return 1;
}
else{
return getFibonachi(n - 1) + getFibonachi(n - 2);
}
}
var result = getFibonachi(8);

9 ответов

7 просмотров

потому что фибоначи от 8 равно 21 в функции происходит рекурсивное вычисление что именно не понятно ?

dude just use debugger

Alexey-Cky Автор вопроса
Alexey Cky
а могли бы вы объяснить как школьнику?

функция работает правильно, только задом-наперед: фибоначи(8) = фибоначи(7) + фибоначи(6) фибоначи(7) = фибоначи(6) + фибоначи(5) фибоначи(6) = фибоначи(5) + фибоначи(4) ... фибоначи(1) = 1 фибоначи(0) = 0

Alexey-Cky Автор вопроса
Arthur Bobrovskih
функция работает правильно, только задом-наперед: ...

к сожалению, я все равно не понял. на 1ой итерации вернется 13, на 2ой по идее 10 что я упускаю?

Alexey Cky
к сожалению, я все равно не понял. на 1ой итерации...

на первой итерации будет не 13, а сложение результата фибоначи(7) плюс фибоначи(6) мы не знаем чему равно фибоначи(7), поэтому идем вычислять его из фибоначи(6)+фибоначи(5), которые в свою очередь тоже не знаем и идем вычислять и так далее единственное что знаем это фибоначи(0) = он равен нулю и фибоначи(1) = он равен единицы на них то рекурсия и завершается

Alexey-Cky Автор вопроса
Arthur Bobrovskih
на первой итерации будет не 13, а сложение результ...

так понятнее, но тем не менее, как мы получаем 21?

Alexey Cky
так понятнее, но тем не менее, как мы получаем 21?

складываем все полученные числа почитайте сам алгоритм https://ru.wikipedia.org/wiki/Числа_Фибоначчи

Похожие вопросы

Обсуждают сегодня

Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
7
> Копаем глубже > Следующий момент был, когда я спросил его, знает ли он JavaScript. Он ответил, что его учили работать с C#. Я тоже в университете писал на C#, но даже там мн...
Oleg Volkov
4
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
Карта сайта