Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Фибоначчи, последовательность чисел. 
V
    Опции темы
310V
Дата 12.2.2006, 00:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 11.2.2006

Репутация: нет
Всего: нет



Помогите по сабжу.
ни как не могу понять
Код

fibonacci(0) = 0
fibonacci(1) =1
fibonacci(n) = fibonacci(n-1) + fibonacci(n-2)

например берем за n = 2 - получается 1 (это все по коду)
тогда почему если взять за n = 6 получается ни (6-1 + 6-2 ) 9, а 8?, так выдает консоль.

PM MAIL   Вверх
volvo877
Дата 12.2.2006, 00:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 1
Всего: 116



Цитата(310V @ 11.2.2006, 23:14 Найти цитируемый пост)
тогда почему если взять за n = 6 получается ни (6-1 + 6-2 ) 9, а 8?, так выдает консоль.

потому, что НЕ (6-1 + 6-2), а вот так:

fib(6) = fib(5) + fib(4) = (fib(4) + fib(3)) + (fib(3) + fib(2)) = ... и так далее, пока не останутся только fib(0) и fib(1)... Сложишь все и получишь именно 8...
PM MAIL   Вверх
cardinal
Дата 12.2.2006, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 2
Всего: 99



Функция у тебя рекурсивная и соответственно
fib(6)
= fib(5)+fib(4)
= fib(4)+fib(3)+fib(3)+fib(2)
= fib(3)+fib(2)+fib(2)+1+fib(2)+1+1+0
= fib(2)+1+1+0+1+0+1+0+3
= fib(1)+fib(0)+7
= 8



--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
310V
Дата 12.2.2006, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 11.2.2006

Репутация: нет
Всего: нет



Все понял, пасибо

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0430 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.