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