Форум программистов, компьютерный форум CyberForum.ru

Как работает рекурсия в цикле - C++

Восстановить пароль Регистрация
 
Misha_prog
0 / 0 / 0
Регистрация: 15.04.2013
Сообщений: 184
27.04.2014, 22:43     Как работает рекурсия в цикле #1
Всем привет! Подскажите пожалуйста как работает рекурсия в цикле, типа вот такого
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
bool test(long long value,int n)
{
    bool res = false;
    for (int i = 2; i <= 5; i++)
    {
        if (value * i >= n || test(value*i, n) == false)
        {
            res = true;
            break;
        }
    }
    return res;
}
как происходит работа в таком цикле я не понимаю.
Всем Спасибо за внимание!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2014, 22:43     Как работает рекурсия в цикле
Посмотрите здесь:

Обьясните как работает рекурсия в данной задаче C++
C++ Не работает printf без \n в цикле for
Как работает "шаг цикла" в цикле for? C++
C++ не работает scanf в цикле!!!
C++ Синтаксических и арифметических ошибок в цикле вроде как нет, но он не работает
Рекурсия в цикле C++
Не понимаю как работает рекурсия C++
C++ Не работает if в цикле while

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rioter
1 / 1 / 0
Регистрация: 27.04.2014
Сообщений: 19
27.04.2014, 22:56     Как работает рекурсия в цикле #2
Может я чего-то не понимаю...
Но рекурсии тут не вижу.
Цикл, условие и действие если верно.
И break; зачем не понял.

Добавлено через 41 секунду
Или рекурсия return?
Komi
 Аватар для Komi
6 / 6 / 2
Регистрация: 10.08.2012
Сообщений: 82
27.04.2014, 23:00     Как работает рекурсия в цикле #3
вырожение "test(value*i, n) == false"
запускает всю функцию заново, но value теперь больше в i раз, чем раньше. далее рекурсионная эпилепсия пока "value * i >= n" не станет правдой (true) в одной из этих самых рекурсионных "копиях", что приведет к
C++
1
2
3
4
 {
            res = true;
            break;
        }
если я правильно разобрал, получается что функция обречена на "true" исход.


хотя нет, не обречена. прошу прощения!
true в результате "копии" приведет к игнорированию "if", если первое условие false.
Yandex
Объявления
27.04.2014, 23:00     Как работает рекурсия в цикле
Ответ Создать тему
Опции темы

Текущее время: 05:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru