Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2013, 21:57   #1
kcah
 
Регистрация: 27.11.2013
Сообщений: 8
По умолчанию Калькулятор. Рекурсия.

У исполнителя Калькулятор две команды, которым присвоены номера:
a. прибавь 3
b. умножь на 4
Сколько есть программ, которые число 3 преобразуют в число 57?
Через рекурсию на Паскале!
kcah вне форума Ответить с цитированием
Старый 27.11.2013, 22:10   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

На Делфи:
Код:
uses
  Classes;

const
  Fin = 57;

var
  SL: TStringList;

procedure ProgramCreate(Prog: string; Value: Integer);
begin
  if Value < Fin then begin
    ProgramCreate(Prog + 'a', Value + 3);
    ProgramCreate(Prog + 'b', Value * 4);
  end else begin
    if Value = Fin then
      SL.Add(Prog);
  end; {if}
end; {proc ProgramCreate}

begin
  SL := TStringList.Create;
  ProgramCreate('', 3);
  WriteLn(SL.Count);
  WriteLn(SL.Text);
  SL.Free;
end.
Arigato вне форума Ответить с цитированием
Старый 27.11.2013, 22:19   #3
kcah
 
Регистрация: 27.11.2013
Сообщений: 8
По умолчанию

А пояснения к решению можешь написать? Особенно в основной программе.
kcah вне форума Ответить с цитированием
Старый 27.11.2013, 23:47   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

А ты не оборзел? Решение есть, разбирайся.
Arigato вне форума Ответить с цитированием
Старый 27.11.2013, 23:51   #5
kcah
 
Регистрация: 27.11.2013
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
А ты не оборзел? Решение есть, разбирайся.
Я знаю только Паскаль, и то плоховато) Ибо в Delphi вообще не разбираюсь. Как я могу тут разобраться? Я это пометил в посте.
kcah вне форума Ответить с цитированием
Старый 28.11.2013, 01:13   #6
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Алгоритм есть, тем более, что сама процедура готова, там от Делфи всего одна строчка, и если ты можешь разобраться, как работает эта процедура, то даже не понимая этой строки ты поймешь, на что ее заменить, чтобы получить решение для Турбо Паскаля.
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ (рекурсия) severest Помощь студентам 11 01.07.2012 01:37
рекурсия 2008kedr2008 Общие вопросы C/C++ 1 04.12.2010 12:22
рекурсия dimok5 Помощь студентам 1 16.11.2010 18:37
Рекурсия ldinka135 Паскаль, Turbo Pascal, PascalABC.NET 5 31.08.2010 12:57
Постфиксный (стековый) калькулятор (РЕКУРСИЯ) killer007 Фриланс 4 03.06.2010 09:25