Генерация перестановок, длина которых меньше заданной

      Комментарии к записи Генерация перестановок, длина которых меньше заданной отключены

Главная Форумы Программирование Помощь с решением задач на Prolog Задачи на списки Генерация перестановок, длина которых меньше заданной

В этой теме 1 ответ, 2 участника, последнее обновление  Васильев Владимир Сергеевич 1 год, 3 мес. назад.

  • Автор
    Сообщения
  • #2478

    questioner
    Участник

    Здравствуйте. В моей задаче требуется генерировать перестановки, но не заданной длинны, как делается у вас и во встроенной в SWI Prolog функции, а любой длины, меньше заданной величины.

  • #2479

    Для решения задачи достаточно вызвать функцию генерации перестановок для каждой допустимой длины и вернуть полученный результат:

    permutation_length(List, Length, Permutation):-
      between(0, Length, PerLength),
      permutation(List, PerLength, Permutation).

    Для перебора всех вариантов длины от нуля до Length используется встроенная функция between.

    Вложения:

Для ответа в этой теме необходимо авторизоваться.