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

Семён составляет пары слов. Первое 4-буквенное слово состоит из букв Г, О, Д, а второе 5-буквенное из букв К, Р, Ы, С. Каждая из букв слов может встречаться в них любое количество раз или не встречаться совсем, причём второе слово должно оканчиваться на букву Ы. Сколько различных пар слов может составить Семён?

В первом слове на каждое из 4 мест в слове можно поставить любую из 3 различных буквы. Значит первое слово можно составить 3 ⋅ 3 ⋅ 3 ⋅ 3 = 81  способом. Во втором слове последней должна стоять буква Ы, а на каждое из 4 оставшихся мест в слове можно поставить любую из 4 различных букв. Значит второе слово можно составить 4 ⋅ 4 ⋅ 4 ⋅ 4 ⋅ 1 = 256  способами.

Представим, что первые слова — чашки, а вторые слова — блюдца. Сколько различных вариаций кружка+чашка можно составить?

Можно составить 81 ⋅ 256 = 20736  различных пар слов (блюдец с чашкой).
Решение программой (циклы):

ans = set()
alf1 = ’ГОД’
alf2 = ’КРЫС’

for x1 in alf1:
    for x2 in alf1:
        for x3 in alf1:
            for x4 in alf1:
                w1 = x1 + x2 + x3 + x4
                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 y5 == ’Ы’:
                                        ans.add((w1, w2))
print(len(ans))

Решение программой (itertools):

from itertools import product

ans = set()
alf1 = ’ГОД’
alf2 = ’КРЫС’

for x in product(alf1, repeat=4):
    for y in product(alf2, repeat=5):
        if y[-1] == ’Ы’:
            ans.add((x, y))

print(len(ans))

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