Методист составляет для задачи пятизначные числа в четырнадцатиричной системе счисления. Сколько чисел из тех, что он составит, будут делиться на 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