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

Друг составляет пары чисел, используя цифры от 4 до 9. Оба числа состоят из 4 цифр. Каждая из цифр в первом числе может использоваться ровно 1 раз, а во втором любое количество раз, причём второе число не может начинаться с цифры 6, а первое с цифры 7. Сколько различных пар чисел друг может составить?

В первом числе друг может на первом месте поставить любую из цифр, кроме 7, всего таких цифр 5. На второе место можно поставить любую из 5 оставшихся цифр, т.к. одна из них уже стоит на первом месте. По той же логике, на третье место можно поставить любую из 4 оставшихся цифр, а на четвёртое — любую из 3 оставшихся. Значит первое число можно составить 5 ⋅ 5 ⋅ 4 ⋅ 3 = 300  различными способами. Во втором числе на первом месте может стоять любая цифра, кроме 6, всего таких цифр 5. На каждой из оставшихся позиций может стоять любая из 6 цифр. Значит второе число можно составить 5 ⋅ 6 ⋅ 6 ⋅ 6 = 1080  различными способами.

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

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

ans = set()
alf = ’456789’

for x1 in alf:
    for x2 in alf:
        for x3 in alf:
            for x4 in alf:
                w1 = x1 + x2 + x3 + x4
                if len(w1) == len(set(w1)):
                    for y1 in alf:
                        for y2 in alf:
                            for y3 in alf:
                                for y4 in alf:
                                    w2 = y1 + y2 + y3 + y4
                                    if w1[0] != ’7’ and w2[0] != ’6’:
                                        ans.add((w1, w2))
print(len(ans))

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

from itertools import permutations, product

ans = set()
alf = ’456789’

for x in permutations(alf, 4):
    for y in product(alf, repeat=4):
        if x[0] != ’7’ and y[0] != ’6’:
            ans.add((x, y))

print(len(ans))

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