• 5. К слову “abracabra” можно применять операцию переворота любой ее подстроки, получая новые слова. Например, перевернув первые 4 буквы, мы получим “arbacabra”. Тот же результат будет, если перевернуть первую подстроку “br”. Затем операцию переворота можно повторять сколько угодно раз, применяя ее к различным подстрокам. Сколько различных слов мы при этом можем получить? Так, подобные операции над словом “abra” дают 12 различных слов. Ответ обосновать. Задачу можно решать как комбинаторно, так и с помощью программы, текст которой надо привести.

Ответы 1

  • 1. Программа на Питоне, подсчитывающая все слова:word = "abracabra"n = len(word)words = set([word])to_proceed = [word]while len(to_proceed) > 0:    word = to_proceed.pop()    for l in range(n):        for r in range(l + 1, n + 1):            new_word = word[:l] + word[l:r][::-1] + word[r:]            if new_word not in words:                words.add(new_word)                to_proceed.append(new_word)print(len(words))2. Комбинаторика: такими операциями можно получить любую перестановку букв исходного слова (переворачиваем подстроку [1:n], затем [2:n], получаем слово, в котором на 1 месте стоит n-й символ. Такими операциями можно последовательно на все места поставить любые символы). Подсчитаем число слов:- места для 4 букв a можно выбрать 9!/(4! 5!) = 126 способами- 2 буквы b на оставшиеся 5 мест можно поставить 5!/(2! 3!) = 10 способами- 2 буквы r на оставшиеся 3 места можно поставить 3 способами- место для c определяется однозначноВсего 126 * 10 * 3 = 3780 способов.Ответ: 3780
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years