Форум программистов, компьютерный форум, киберфорум
Наши страницы
Алгоритмы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
Sergey_Davydovs
12 / 13 / 4
Регистрация: 10.10.2014
Сообщений: 109
1

Как работает двойная рекурсия?

05.02.2015, 12:36. Просмотров 1297. Ответов 7
Метки нет (Все метки)

Всем привет, как работает двойная рекурсия?
Например:
Рек(var a:INTEGER);
(любое условие) (например: if a>1 then)
Рек(а-1);
(любое условие)(такое же наприме: if a>1 then)
Рек(а-1)

Он всю рекурсию пройдет и будет a-2? Или он зациклится только на первом условии, т.е доходя до рек первой, подпрог вызовет себя еще ра?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2015, 12:36
Ответы с готовыми решениями:

Кто-нибудь, объясните, что за код такой??? Какая-то двойная рекурсия???
function F(n:Integer):Integer; begin if (n > 2) then F := F(n - 1) + G(n - 2) ...

Как работает рекурсия?
Ребята! Вот дошёл до темы рекурсия, и вроде тему из школы роходили, но смотрю на программу, и...

Рекурсия, как работает ?
Помогите пожалуйста, никак не могу понять как работает рекурсия, если не сложно то...

Как работает рекурсия?
Доброго времени суток. Никогда не любил рекурсию, просто видимо недопонимая ее, но в лиспе, увы нет...

Как работает рекурсия?
Помогите разобраться, не понимаю до конца как работает рекурсия в связке с субстринг... Вопрос:...

7
taras atavin
4199 / 1776 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
05.02.2015, 12:40 2
1. Всякая рекурсия должна доходить до варианта значений параметров, при котором подпрограмма завершается нерекурсивно.
2. Какой смысл писать подряд два одинаковых условия? Уж напиши цикл repeat что ли.
3. Ещё и вызов один.
0
Sergey_Davydovs
12 / 13 / 4
Регистрация: 10.10.2014
Сообщений: 109
05.02.2015, 17:13  [ТС] 3
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
program hanoibns(input,output);
var n:integer;
procedure tower(k:integer;a,b,c:char);
begin
     if k>1 then tower(k-1,a,c,b);
     writeln('from ',a,' to ',b);
     if k>1 then tower(k-1,c,b,a)
end;
begin
     read(n);
     tower(n,'A','C','B')
end.
0
taras atavin
4199 / 1776 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
05.02.2015, 17:23 4
Кто теговать будет?
0
05.02.2015, 17:23
_Ivana
4110 / 1900 / 237
Регистрация: 01.03.2013
Сообщений: 5,152
Записей в блоге: 22
07.02.2015, 13:30 5
Не, он снач толь пер рек прой до кон а пот втор нач.
0
taras atavin
4199 / 1776 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
07.02.2015, 13:40 6
А по-русски?
0
_Ivana
4110 / 1900 / 237
Регистрация: 01.03.2013
Сообщений: 5,152
Записей в блоге: 22
07.02.2015, 21:18 7
Зачем по-русски, я же для ТС на его языке пишу. Вы же полагаете, что знаете ответ и он вам не нужен
0
taras atavin
4199 / 1776 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
08.02.2015, 11:17 8
_Ivana, официальный язык форума - вовсе не свод советских сокращений.
0
08.02.2015, 11:17
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.02.2015, 11:17

Как работает рекурсия?
Здравствуйте! Темы указателей и рекурсии оказались очень сложными для самостоятельного изучения....

Двойная буферизация не работает
почему то не работает Двойная Буферизация case WM_PAINT: { hdc=BeginPaint(hwnd,&PaintStruct);...

Не понимаю как работает рекурсия
Привет. Знаю, что таких тем много (Я читал их). Не нужно кидать ссылки. Я знаю что такое рекурсия,...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.