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

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

Первой идёт одна из 4  чётных цифр, второй одна из 3  оставшихся, т.к. одна уже использована, третьей одна из 2  оставшихся и четвёртой последняя оставшаяся цифра. Пятой идёт одна из 5  нечётных цифр, шестой — одна из 4  оставшихся, седьмой — одна из 3  оставшихся и восьмой — одна из 2  оставшихся. Значит друг может составить 4 ⋅ 3 ⋅ 2 ⋅ 1 ⋅ 5 ⋅ 4 ⋅ 3 ⋅ 2 = 2880  различных чисел.
Решение программой (циклы):

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))

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