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

Иван составляет 9-разрядные двадцатипятиричные числа, в которых цифры, которые кратны трем и кратны восьми, чередуются. Сколько различных чисел может составить Иван?

Для составления чисел можно использовать цифры от 0 до 9 и числа от 10 до 24 включительно. Из них кратны трем: 0, 3, 6, 9, 12, 15, 18, 21, 24. Кратны восьми: 0, 8, 16, 24. Кратны и трем, и восьми: 0, 24

Количество 9-разрядных чисел, которые начинаются с цифры, кратной трем:

8⋅4⋅9 ⋅4⋅9⋅4 ⋅9⋅4⋅9 = 13436928

Количество 9-разрядных чисел, которые начинаются с цифры, кратной восьми:

3 ⋅9 ⋅4⋅9 ⋅4 ⋅9⋅4 ⋅9 ⋅4 = 5038848

Также нам необходимо из общего количества вычесть те числа, которые находятся и в первом случае, и во втором случае. Их число равно:

1⋅2 ⋅2⋅2⋅2 ⋅2⋅2⋅2 ⋅2 = 28 = 256

Получаем общее число слов:

13436928 + 5038848 − 256 = 18475520

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

ans = set()

alf_3 = ’0369CFILO’  # Кратные 3 цифры
alf_8 = ’08GO’  # Кратные 8 цифры

for i in range(2):
    for x1 in alf_3:
        for x2 in alf_8:
            for x3 in alf_3:
                for x4 in alf_8:
                    for x5 in alf_3:
                        for x6 in alf_8:
                            for x7 in alf_3:
                                for x8 in alf_8:
                                    for x9 in alf_3:
                                        w = x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9
                                        if x1 != ’0’:
                                            ans.add(w)
    # Меняем алфавиты местами, чтобы поменять
    # порядок чередования
    alf_3, alf_8 = alf_8, alf_3

print(len(ans))

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