8.02 Подсчет количества слов/чисел
Ошибка.
Попробуйте повторить позже
На Марсе нашли разумную жизнь. Пришельцы умеют читать и писать. Ученые выяснили, что в алфавите марсиан всего 7 букв, 4 из них согласные. Сколько может быть 4-х буквенных слов на Марсе, которые начинаются с согласной и при этом все буквы в слове различные.
Так как в алфавите всего 7 букв, при этом первая точно должна быть согласная, то на первом месте может быть
только 4 варианта и буквы не могут повторяться, то далее идут просто оставшиеся буквы, то есть:
случаев.
Решение программой (циклы):
Составляем программу для перебора всех 4-буквенных слов из алфавита, в котором 7 букв, из которых 4 согласные.
Так как конкретные буквы нам не важны, будем использовать русские: согласные – «БВГД», гласные – «АУО». Для
каждого слова проверяем условия: все буквы должны быть различными – для этого используем множество и
сравниваем длину слова с длиной множества (если их длина совпадает, в слове нет повторяющихся букв); также
проверяем, что первая буква согласная, используя индексацию. Если оба условия выполняются, добавляем слово в
множество, чтобы убрать дубликаты. В конце выводим длину множества, что и будет количеством допустимых
слов.
ans = set() # множество для хранения неповторяющихся подходящих слов # Смоделируем марсианский алфавит, в котором 7 букв и 4 согласные alf = "АУОБВГД" # через циклы задаём каждую из 4-х букв for x1 in alf: for x2 in alf: for x3 in alf: for x4 in alf: w = x1 + x2 + x3 + x4 # составляем слово # проверяем, что все буквы различны и первая буква согласная if len(w) == len(set(w)) and w[0] in "БВГД": ans.add(w) # добавляем подходящее слово print(len(ans))
Решение программой (itertools):
Для решения задачи с помощью модуля itertools воспользуемся функцией permutations. Она генерирует все возможные
перестановки из 7 букв длиной 4, что удобно, так как все буквы должны быть различными. Условие про
первую букву проверяем аналогично решению с циклами: с помощью индексации убеждаемся, что первая
буква – согласная (Б, В, Г, Д). Если слово удовлетворяет всем условиям, добавляем его в множество,
чтобы исключить дубликаты. В конце выводим длину множества, что и будет количеством допустимых
слов.
from itertools import permutations ans = set() # множество для хранения неповторяющихся подходящих слов # Смоделируем марсианский алфавит, в котором 7 букв и 4 согласные alf = "АУОБВГД" # перебираем все перестановки длины 4 for w in permutations(alf, 4): w = "".join(w) # преобразуем кортеж в слово # проверяем, что первая буква согласная if w[0] in "БВГД": ans.add(w) # добавляем подходящее слово print(len(ans))
Специальные программы

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

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

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

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

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

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