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

Методист составляет для задачи пятизначные числа в четырнадцатиричной системе счисления. Сколько чисел из тех, что он составит, будут делиться на 38?

Решение через циклы

a = ’0123456789ABCD’
count = set()

for x1 in ’123456789ABCD’: # число не может начинаться с 0
    for x2 in a:
        for x3 in a:
            for x4 in a:
                for x5 in a:
                    s = x1+x2+x3+x4+x5
                    if int(s,14) % 38 == 0:
                        count.add(s)
print(len(count))

Решение через itertools

from itertools import product

s = ’0123456789ABCD’
cnt = 0

for k in product(s, repeat=5):
    num = ’’.join(k)
    if num[0] != ’0’ and int(num, 14) % 38 == 0:
        cnt += 1
print(cnt)

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