8.02 Подсчет количества слов/чисел
Ошибка.
Попробуйте повторить позже
Аслан составляет пары слов. Первое 3-буквенное слово состоит из букв Д, О, М, а второе 5-буквенное из букв Р, А, Б, О, Т. Каждая из букв может встречаться в словах ровно один раз. Сколько различных пар слов может составить Аслан?
В первом слове Аслан первой буквой может поставить любую из 3 доступных букв, второй буквой —
любую из оставшихся 2, а третьей последнюю оставшуюся букву. Значит первое слово можно составить
способами. Во втором слове Аслан первой буквой может поставить любую из 5 доступных
букв, второй буквой — любую из оставшихся 4, третьей — любую из оставшихся 3, . Значит второе слово
можно составить
способами.
Представим, что первые слова — чашки, а вторые слова — блюдца. Сколько различных вариаций кружка+чашка можно составить?
Можно составить различных пар слов (блюдец с чашкой).
Идея решения через циклы:
Первое слово состоит из 3 букв, второе — из 5 букв. Каждая буква используется ровно один раз. Перебираем все возможные комбинации букв для каждого слова с помощью вложенных циклов. Для каждого слова проверяем уникальность букв и добавляем пару слов в множество для учёта уникальных комбинаций.
Решение кодом через циклы:
# Множество для уникальных пар слов ans = set() # Буквы для первого и второго слова alf1 = "ДОМ" alf2 = "РАБОТ" # Перебор первого слова for x1 in alf1: for x2 in alf1: for x3 in alf1: w1 = x1 + x2 + x3 # Проверка уникальности букв if len(w1) == len(set(w1)): # Перебор второго слова for y1 in alf2: for y2 in alf2: for y3 in alf2: for y4 in alf2: for y5 in alf2: w2 = y1 + y2 + y3 + y4 + y5 # Проверка уникальности букв if len(w2) == len(set(w2)): ans.add((w1, w2)) # Вывод количества уникальных пар слов print(len(ans))
Идея решения через itertools:
Используем permutations для генерации всех перестановок букв без повторов для каждого слова. Для каждой пары слов добавляем её в множество, чтобы посчитать количество уникальных комбинаций.
Решение кодом через itertools:
# Импортируем функцию permutations from itertools import permutations # Множество для уникальных пар слов ans = set() # Буквы для первого и второго слова alf1 = "ДОМ" alf2 = "РАБОТ" # Генерация всех перестановок для первого и второго слова for x in permutations(alf1, 3): for y in permutations(alf2, 5): ans.add((x, y)) # Вывод количества уникальных пар слов print(len(ans))
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!