Шифр кодового замка представляет собой последовательность из пяти символов, каждый из которых является цифрой от 1 до 4. Сколько различных вариантов шифра можно задать, если известно, что цифра 1 встречается ровно два раза, а каждая из других допустимых цифр может встречаться в шифре любое количество раз или не встречаться совсем?
Допустим, что цифра «1»стоит на первой и второй позиции. Тогда, оставшиеся три числа мы можем разместить способами.
Найдём число способов, которыми мы можем поставить две цифры «1»на пять мест. .
Общее число вариантов равно .
Решение программой (циклы):
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