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

Друг составляет пары чисел, используя цифры от 0  до 9  . Первое число состоит из 2  цифр, а второе — из 7  . Цифры в каждом из чисел могут использоваться любое количество раз, причём второе число не содержит в себе чётных цифр. Сколько различных пар чисел друг может составить?

Примечание: в данной задаче число может начинаться с нуля.

В первом числе друг может на первое и второе место поставить по 10  цифр. Значит первое число можно составить 10 ⋅ 10 = 100  различными способами. Во втором числе на каждой из позиций может стоять любая из 5 нечётных цифр. Значит второе число можно составить 5 ⋅ 5 ⋅ 5 ⋅ 5 ⋅ 5 ⋅ 5 ⋅ 5 = 78125  различными способами.

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

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

ans = set()
alf1 = ’0123456789’
alf2 = ’13579’

for x1 in alf1:
    for x2 in alf1:
        w1 = x1 + x2
        for y1 in alf2:
            for y2 in alf2:
                for y3 in alf2:
                    for y4 in alf2:
                        for y5 in alf2:
                            for y6 in alf2:
                                for y7 in alf2:
                                    w2 = y1 + y2 + y3 + y4 + y5 + y6 + y7
                                    ans.add((w1, w2))
print(len(ans))

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

from itertools import product

ans = set()
alf1 = ’0123456789’
alf2 = ’13579’

for x in product(alf1, repeat=2):
    for y in product(alf2, repeat=7):
        ans.add((x, y))

print(len(ans))

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