Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Сколько существует натуральных чисел, соответствующих следующей маске и чтобы число десятков, сложенное с учетверенным число единиц, было кратно
(то есть для числа
это
). В ответ запишите количество найденных чисел.
Решение через циклы
counter = 0
for a1 in (’0123456789’):
for a2 in (’0123456789’):
s = int(’90’+a1+’123’+a2) # составляем число, удовлетворяющее маске
n = 3+int(a2)*4 # считаем сумму десятков и 4*единиц
if n%13==0:
counter += 1
print(counter)
Решение через срезы
count = 0
for x in range(9001230,9091239+1):
n = str(x)
# проверяем, что число соответствует маске и сумма десятков и 4*единиц кратно 13
if ’90’ in n[:2] and ’123’ in n[3:6] and (int(n[-2]) + 4*int(n[-1])) % 13 == 0:
count += 1
print(count)