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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.09.2019, 16:31   #1
X-Viktor
Новичок
Джуниор
 
Регистрация: 07.09.2019
Сообщений: 1
Вопрос Проблема с рекурсией. Необходимо посчитать кол-во найденных комбинаций.

Всем доброго дня.
При решении задачи, столкнулся с проблемой. Необходимо посчитать кол-во найденных комбинаций.
Всё перепробовал, так и не выходит. Помогите)

Код:
program num_3;

var
  n: integer;
 
procedure rec(n, s, j: integer);
  
  var
    i, a: integer;
    
  begin
    
    for i := j to n // Перебор всех комбинаций
      do
        if s + i = n // Если найдена комбинация
          then
            begin
              // Вот тут счёт
            end
          else
            if s + i < n
              then
                rec(n, s+i, i);
  end;

begin
  write('Введите число: ');
  readln(n);
  
  rec(n, 0, 1);
end.
X-Viktor вне форума Ответить с цитированием
Старый 07.09.2019, 23:35   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

а что должен подсчитать данный код?

впрочем, неважно.

Если ваш код работает, то достаточно ввести ещё одну переменную:
Код:
program num_3;


procedure rec(n, s, j: integer; var count : integer);
  
  var
    i, a: integer;
    
  begin
    
    for i := j to n // Перебор всех комбинаций
      do
        if s + i = n // Если найдена комбинация
          then
            begin
              // Вот тут счёт
              count := count + 1
            end
          else
            if s + i < n then rec(n, s+i, i, count);
  end;

var
  n, c: integer;

begin
  write('Введите число: ');
  readln(n);
  c := 0;
  rec(n, 0, 1, c);
  WriteLn('Count = ',c);
end.

Последний раз редактировалось Serge_Bliznykov; 08.09.2019 в 13:45.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Необходимо посчитать количество отрицательных элементов в массиве,используя перегрузку функций. anasttb Общие вопросы C/C++ 0 01.06.2017 18:56
Необходимо посчитать средний балл.. Jameses Паскаль, Turbo Pascal, PascalABC.NET 1 18.12.2014 20:30
Игра Lines ( C++ ) Проблема с рекурсией tov-solntsev Помощь студентам 0 29.08.2010 15:32
Необходимо сравнить 2 колонки и посчитать количество, удовлетворяющих условию druzimm3 Microsoft Office Excel 4 04.05.2010 00:27
Необходимо посчитать сумму ряда в Delphi console QuadroX Помощь студентам 5 08.10.2009 18:06