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

Как работает рекурсия? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как посчитать количество повторений каждой из цифр в числе N*N? http://www.cyberforum.ru/cpp-beginners/thread50914.html
я очень плохо ориентируюсь на С++.Такой вопрос:можно числа переводить в строки?И если нет,то как осуществить решение задачи?Помогите, пожалуйста
C++ FToS >float to string Нужно перевести число из double в std::string. что-то типа этого string FToS(double value, int precision); sprintf,printf и и подобные штуки не пойдут, т.к критично по времени. ps: разделитель точка. http://www.cyberforum.ru/cpp-beginners/thread50879.html
C++ Задача про слона 0о
Нам задали прикольную задачу. От пункта А до пункта Б 12км. На каждом километре есть склад. Склады заполнены бананами(кол-во произвольное т.е. рандом или введено с клавы). Из пункта А в пункт Б движется Слон. У слона есть корзина, в которую помещается 6 бананов. Слон на каждом километре съедает по 1 банану. Нужно перенести все бананы из складов в пункт Б. Бананы слон может как брать со...
C++ SinCos
странно но в math.h нету SinCos'а :(. Попробовал переписать сам. typedef long double Extended; Extended SinCos(Extended &Theta,Extended &Sin,Extended &Cos) { _asm{ FLD Theta FSINCOS FSTP tbyte ptr // Cos FSTP tbyte ptr // Sin FWAIT
C++ Реестр операционной системы Windows http://www.cyberforum.ru/cpp-beginners/thread50819.html
Лабораторная работа Цель: Получение навыков использования функций API среды WIN32 для организации работы с системным реестром. Задание: Написать программу. С помощью нее создать подраздел по пути: HKCU/Software. Создать в подразделе параметры с именем и типом, предложенным преподавателем. Задать параметрам значения, предложенные преподавателем. Прочитать эти значения из реестра. По заданию...
C++ Проблемы с динамическими структурами Задача:В составе программы описать функцию, которая включает в упорядоченный по возрастанаию список новое значение, введенное с клавиатуры, таким образом, чтобы не нарушать упорядоченность. Моё решение: В качестве упорядоченого списка идёт ряд от 10 до 100 Пока не разобрался с функциями. поэтому решение идёт внутри основной программы(листинг с комментариями прикреплен к сообщению) ... подробнее

Показать сообщение отдельно
Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
15.09.2009, 15:53  [ТС]     Как работает рекурсия?
Спасибо всем за ответы.
Тоесть в рекурсии как-бы происходит возвращение вперёд, а затем раскрутка с конца до начала.
Смотрю из вашего примера:
Код
в функции factr(2) answer = factr(1)*2 то есть answer бедет равен 1*2=2
в функции factr(3) answer = factr(2)*3 то есть answer бедет равен 2*3=6
в функции factr(4) answer = factr(3)*4 то есть answer бедет равен 6*4=24
в функции factr(5) answer = factr(4)*5 то есть answer бедет равен 24*5=120
А я думал, что должно было происходить вот так:
Код
в функции factr(2) answer = factr(1)*2 то есть answer бедет равен 1*2=2
в функции factr(3) answer = factr(2)*3 то есть answer бедет равен 2*3=6
в функции factr(4) answer = factr(3)*4 то есть answer бедет равен 3*4=12
в функции factr(5) answer = factr(4)*5 то есть answer бедет равен 4*5=20
Теперь уяснил.

Добавлено через 18 минут
Что интересно, значение в скобочке,как-бы игнорируется
Тоесть:

Начальное возвращение:

Код
(5-1) * 5
(4-1) * 4
(3-1) * 3
(2-1) * 2
Конечное возвращение:
Код
 1*2 = 2
 2*3 = 6
 6*4 = 24     [B]  а не 3*4 =12[/B]
24*5 = 120   [B] а не 4*5 = 20,если смотреть в скобочки[/B]
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru