(Д. Муфаззалов) Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
Например, маске \(123{*}4?5\) соответствуют числа \(123405\) и \(12300425.\)
Пусть \(A(n)\) – это квадрат суммы двух чисел: числа, запись которого есть левая половина записи числа \(n\), и числа, запись которого есть правая половина записи числа \(n.\) Для чисел с нечетным количеством цифр величина \(A(n)\) равна нулю. Например, \(A(1234) = (12 + 34)^2 = 2116.\)
Среди натуральных чисел, не превышающих \(35 \cdot 10^6,\) найдите все числа, соответствующие маске \({*}2{*}0{*}2{*}5{*}\) и кратные числу \(25,\) для которых \(A(n) = n.\) В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на \(25.\)
Решение:
Python
from fnmatch import fnmatch
def A(n):
sn = str(n)
ls = len(sn)
if ls % 2 == 1:
return 0
return (int(sn[:ls//2]) + int(sn[ls//2:]))**2
for n in range(2025, 35 * 10**6 + 1, 25):
if fnmatch(str(n), '*2*0*2*5*') and A(n) == n:
print(n, n // 25)
Ответ:
\(2025 \,\, 81\)
\(24502500 \,\, 980100\)
\(25502500 \,\, 1020100\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене