![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
necrom |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 21.2.2011 Репутация: нет Всего: нет |
Подскажите пожалуйста почему ответ 26 в этой рекурсивной функции.
Разложил на листе данную рекурсию, получилось следующее.
Это сообщение отредактировал(а) necrom - 22.8.2011, 18:48 |
||||
|
|||||
hils |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 20.4.2011 Репутация: нет Всего: нет |
Смотри, тут все просто:
1. для начала рассмотри базис простейших вариантов функции, а именно: foo(1) выдаст результат 2. foo(2) выдаст результат 4. foo(3) -> return foo(2)+foo(1) (а это ничто иное как 2+4=6) .... и т.д. Я надеюсь тебе это понятно и не вызывает вопросов. 2. Далее так как рекурсия это у нас непростая система, то ее лучше приставлять всегда в виде простейших, а именно: foo(7) -> return foo(6)+foo(3). foo(3) даст нам результат 6(см. выше) А вот foo(6) стоит рассмотреть подробнее. 3. foo(6) -> foo(5) + foo(3) -> foo(4)+foo(2) + 6 -> foo(3)+foo(2) + 4 + 6 -> 6 + 4 + 4 + 6 = 20. 4. А теперь объеденим пункты 3 и 2 .... соответственно результатом будет 6 + 20 = 26! |
|||
|
||||
necrom |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 21.2.2011 Репутация: нет Всего: нет |
Всё понял спасибо
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |