Друг составляет восьмизначные числа, используя цифры от до
. Цифры в числе могут использоваться ровно
раз или не использоваться совсем. Сначала в числе идут все четные цифры, а затем нечётные цифры. Сколько различных чисел друг может составить?
Первой идёт одна из чётных цифр, второй одна из
оставшихся, т.к. одна уже использована, третьей одна из
оставшихся и четвёртой последняя оставшаяся цифра. Пятой идёт одна из
нечётных цифр, шестой — одна из
оставшихся, седьмой — одна из
оставшихся и восьмой — одна из
оставшихся. Значит друг может составить
различных чисел.
Решение программой (циклы):
ans = set()
chet = ’2468’
nechet = ’13579’
for x1 in chet:
for x2 in chet:
for x3 in chet:
for x4 in chet:
for x5 in nechet:
for x6 in nechet:
for x7 in nechet:
for x8 in nechet:
w = x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8
if len(w) == len(set(w)):
ans.add(w)
print(len(ans))
Решение программой (itertools):
from itertools import permutations
ans = set()
chet = ’2468’
nechet = ’13579’
for x1 in permutations(chet, 4):
for x2 in permutations(nechet, 4):
w = ’’.join(x1) + ’’.join(x2)
ans.add(w)
print(len(ans))