Я изучаю Схему и пытаюсь генерировать перестановки с повторениями определенного размера.
Например, если дано n = 4 и задано S = {a, b, c, d, e, f}, Я хотел бы генерировать все возможные перестановки: {a, a, a, a}, {a, a, a, b}, ..., {a, a, a, f}, {a, a,Ь, а}, {а, а, Ь, Ь}, ..., {а, а, б, е}, ... {е, а, а, а}, {е, а, а, б} ..., {f, a, a, f}, ... {f, f, f, f}.
Проблема в том, что я не могу понять, как выбрать 'a' 4раз, и помните, что я выбрал его 4 раза, затем выберите «а» 3 раза и «б» один раз, и запомните все это, чтобы я не выбрал его снова.
Я знаю, чтоПодобные проблемы лучше всего решать с помощью рекурсивных алгоритмов, но это просто усложняет все, например, как я помню в рекурсии, какие элементы я выбрал.
Я не знаю, как к этому подойтипроблема вообще.Я был бы очень рад, если бы кто-то выписал мыслительный процесс решения этой проблемы.Я был бы очень признателен!
Пожалуйста, помогите мне.
Спасибо, Бода Кидо.