Тема 8. Комбинаторика

8.02 Подсчет количества слов/чисел

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела комбинаторика
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#62823

При регистрации на платформе БУ есть возможность выбрать себе логин по следующему принципу:

1) Используются только строчные и заглавные буквы латинского алфавита, а также цифры от 0 до 9 включительно;

2) Логин должен начинаться с гласной буквы;

3) Логин должен оканчиваться цифрой;

4) Логин должен состоять из 4 символов.

Какое максимальное количество логинов может быть использовано на сайте?

Примечание. В латинском алфавите 26 букв, 6 из них гласные.

Показать ответ и решение

Аналитическое решение:

Для решения этой задачи нужно учесть все условия, которые были представлены:

В латинском алфавите 26 букв, 6 из них гласные. Учитывая, что буквы могут быть как строчными, так и заглавными, у нас получается 12 гласных букв. Цифр от 0 до 9 включительно - 10.

Теперь мы можем вычислить максимальное количество логинов, используя принцип умножения:

Первый символ может быть одной из 12 гласных букв.

Второй и третий символы могут быть любыми из 62 возможных символов (26 строчных букв, 26 заглавных букв и 10 цифр).

Четвертый символ должен быть одной из 10 цифр.

Таким образом, общее количество возможных логинов будет равно произведению этих чисел.

Решение программой с помощью циклов:

Напишем программу для перебора всевозможных 7-буквенных слов из заданных букв. Для этого организуем 7  вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает буквы заданной строки, формируя все возможные комбинации. Запишем количество подходящих слов.

# Импортируем модуль string, который содержит различные константы для работы со строками
import string

# Создаем строку гласных (как заглавных, так и строчных)
vowels = ’aeiouyAEIOUY’

# Создаем строку, которая содержит все английские буквы (заглавные и строчные) и цифры
letters_and_digits = string.ascii_letters + string.digits

# Создаем строку, которая содержит все цифры от 0 до 9
digits = string.digits

# Инициализируем счетчик на ноль, этот счетчик будет использоваться для подсчета количества строк
count = 0

# Перебираем все гласные
for v in vowels:
    # Перебираем все буквы и цифры для второго символа
    for l1 in letters_and_digits:
        # Перебираем все буквы и цифры для третьего символа
        for l2 in letters_and_digits:
            # Перебираем все цифры для четвертого символа
            for d in digits:
                # Увеличиваем счетчик на 1 для каждой сгенерированной строки
                count += 1

# Печатаем итоговое количество строк
print(count)


Ответ: 461280

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

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

Бесплатное онлайн-обучение

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

Налоговые вычеты

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

Специальное предложение
для учителей

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

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!