Задача к ЕГЭ по информатике на тему «практика программирования» №4

Напишите рекурсивную функцию, которая была бы аналогом функции itertools.combinations with-replacement  . На вход она должна принимать строку и параметр repeat  . На выходе должен получиться тот же самый результат, что и для combinations,  но с доп. строками состоящими из одинаковых символов.

В качестве ответа укажите результат выполнения функции для строки ABC  и параметра repeat = 2  .

def combinations_with_replacement(ans, s, r):
    if r == 0:
        print(ans)
    elif r <= len(s):
        for i in range(len(s)):
            s_new = ’’
            for j in range(i, len(s)):
                s_new += s[j]

            combinations_with_replacement(ans + s[i], s_new, r - 1)

s = ’ABC’
combinations_with_replacement(’’, s, 2)

Ответ: AA AB AC BB BC CC
Оцените статью
Я решу все!