#1-27 номера ЕГЭ по информатике
March 17, 2023

8 Разбор номера 7667 ЕГЭ по информатике от 2023 года #8

Условие: Тип 8 № 7667

Сколько слов длины 5, начинающихся с гласной буквы, можно составить из букв Е, Г, Э? Каждая буква может входить в слово несколько раз.

Слова не обязательно должны быть взяты из русского языка.

Вариант 1: используем для перебора метод product из библиотеки itertools

Комментарии к первому варианту решения задачи:

  1. импортируем в проект встроенную библиотеку [itertools]
  2. создаем строку для согласных букв "Г"
  3. создаем строку для гласных букв "ЕЭ"
  4. переменную count будем использовать как счетчик подходящих слов
  5. через метод product составляем всевозможные слова из алфавита "ЕГЭ"
  6. пробегаем кортежи temp из получившегося контейнера s
  7. если первая буква кортежа temp[0] лежит в строке гласных
  8. увеличиваем счетчик count на +1 значение
  9. после пробежки всего цикла for выводим кол-во слов на экран
# Код решения Вариант 1
import itertools
sogl = 'Г'
glas = 'ЕЭ'
count = 0
s = itertools.product('ЕГЭ', repeat=5)
for temp in s:
    if temp[0] in glas:
        count += 1
print(count)

Вариант 2: немного освежили код из первого варианта
# Код решения Вариант 2
import itertools
count = 0
s = itertools.product('ЕГЭ', repeat=5)
for temp in s:
    if temp[0] in 'ЕЭ':
        count += 1
print(count)

Вариант 3: переберем все слова используя цикл for и строку алфавита "ЕГЭ”

Комментарии к третьему варианту решения задачи:

  1. создаем свой алфавит букв "ЕГЭ"
  2. создаем строку для согласных букв "Г"
  3. создаем строку для гласных букв "ЕЭ"
  4. переменную count будем использовать как счетчик подходящих слов
  5. перебираем буквы из алфавита на позицию первой буквы в слове
  6. перебираем буквы из алфавита на позицию второй буквы в слове
  7. перебираем буквы из алфавита на позицию третьей буквы в слове
  8. перебираем буквы из алфавита на позицию четвертой буквы в слове
  9. перебираем буквы из алфавита на позицию пятой буквы в слове
  10. собираем из переменных a, b, c, d, e новое слово temp
  11. переменная a отвечающая за первую букву в слове должна быть гласной
  12. увеличиваем счетчик count на +1 значение
  13. после пробежки всех циклов for выводим кол-во слов на экран
# Код решения Вариант 3
s = 'ЕГЭ'
sogl = 'Г'
glas = 'ЕЭ'
count = 0
for a in s:
    for b in s:
        for c in s:
            for d in s:
                for e in s:
                    temp = a + b + c + d + e
                    if a in glas:
                        count += 1
print(count)

Вариант 4: немного приукрашенный третий вариант
# Код решения Вариант 4
s = 'ЕГЭ'
count = 0
for a in s:
    for b in s:
        for c in s:
            for d in s:
                for e in s:
                    if a in 'ЕЭ':
                        count += 1
print(count)

Вариант 5: через добавление вариантов слов в список

Комментарии к третьему варианту решения задачи:

  1. создаем свой алфавит букв "ЕГЭ"
  2. создаем список, в который будем добавлять варианты слов
  3. перебираем буквы из алфавита на позицию первой буквы в слове
  4. перебираем буквы из алфавита на позицию второй буквы в слове
  5. перебираем буквы из алфавита на позицию третьей буквы в слове
  6. перебираем буквы из алфавита на позицию четвертой буквы в слове
  7. перебираем буквы из алфавита на позицию пятой буквы в слове
  8. собираем из переменных a, b, c, d, e новое слово temp
  9. переменная a отвечающая за первую букву в слове должна быть гласной
  10. добавляем это слово в список
  11. выводим длину списка
# Код решения Вариант 5
s = 'ЕГЭ'
M = []
for a in s:
    for b in s:
        for c in s:
            for d in s:
                for e in s:
                    temp = a + b + c + d + e
                    if a in 'ЕЭ':
                        M.append(temp)
print(len(M))

Ответ:

162