Задача к ЕГЭ по информатике на тему «подсчет количества слов/чисел» №1

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

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

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

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

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

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

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

Решение руками

Длина у логина 4, значит, нужно перемножить 4 числа, каждое из которых означает количество возможных букв на каждое место.

Первый множитель — 12(6 гласных букв, каждая может быть как строчной, так и заглавной)

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

Четвёртый множитель — 10(десятичные цифры)

Вычисляем — 12*62*62*10 = 461280

Решение через циклы


abc = ’abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ’
ds = ’0123456789’

k = 0
for a in ’aeiouyAEIOUY’:
    for b in abc+ds:
        for c in abc+ds:
            for d in ds:
                k += 1
print(k)

Решение через itertools

import string
from itertools import product
# функция ascii_letters из класса string возвращает строку прописных и заглавных букв латинского алфавита.
word = string.ascii_letters
digits = ’0123456789’
count = set()
for x1 in product(’aeioyuAEIOYU’,repeat = 1):
    s1 = ’’.join(x1)
    for x2x3 in product(word+digits,repeat = 2):
        s2s3 = ’’.join(x2x3)
        for x4 in product(digits,repeat = 1):
            s4 = ’’.join(x4)
            count.add(s1+s2s3+s4)
print(len(count))

Ответ: 461280
Оцените статью
Я решу все!