(PRO100-ЕГЭ) Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
Например, маске \(123{*}4{?}5\) соответствуют числа \(123405\) и \(12300425.\)
Среди натуральных чисел, больших \(65000,\) найдите первые \(7\) чисел, удовлетворяющих маске \(6{*}97{*}5{?}\) и имеющих не менее \(4\) чётных делителей. Запишите в ответе найденные числа в порядке возрастания, справа от каждого числа запишите сумму его чётных делителей.
Решение:
Python
from fnmatch import fnmatch
q = 0
for n in range(69750, 10**10, 2):
if q == 7:
break
if fnmatch(str(n), '6*97*5?'):
divs = {d for x in range(1, int(n**0.5) + 1) if n % x == 0
for d in (x, n // x) if d % 2 == 0}
if len(divs) > 3:
print(n, sum(divs))
q += 1
Ответ:
\(69750 \,\, 129792\)
\(69752 \,\, 122080\)
\(69756 \,\, 139536\)
\(69758 \,\, 75152\)
\(609750 \,\, 1103232\)
\(609752 \,\, 1291248\)
\(609754 \,\, 630840\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене