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

Шифр кодового замка представляет собой последовательность из пяти символов, каждый из которых является цифрой от 1 до 4. Сколько различных вариантов шифра можно задать, если известно, что цифра 1 встречается ровно два раза, а каждая из других допустимых цифр может встречаться в шифре любое количество раз или не встречаться совсем?

Допустим, что цифра «1»стоит на первой и второй позиции. Тогда, оставшиеся три числа мы можем разместить 1 ⋅1⋅3⋅3 ⋅3 = 27  способами.

Найдём число способов, которыми мы можем поставить две цифры «1»на пять мест.     --5!--   -5!-   4⋅5 k = 2!⋅(5−2)! = 3!⋅2! = 2 = 10  .

Общее число вариантов равно 27⋅10 = 270  .

Решение программой (циклы):

ans = set()
alf = ’1234’

for x1 in alf:
    for x2 in alf:
        for x3 in alf:
            for x4 in alf:
                for x5 in alf:
                    w = x1 + x2 + x3 + x4 + x5
                    if w.count(’1’) == 2:
                        ans.add(w)
print(len(ans))

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

from itertools import product

ans = set()
alf = ’1234’

for w in product(alf, repeat=5):
    w = ’’.join(w)
    if w.count(’1’) == 2:
        ans.add(w)

print(len(ans))

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