Условие: № 5227 (Уровень: Сложный) (М. Ишимов) Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 10**7, найдите все числа, соответствующие маске 3*52?, у которых нечётное количество делителей. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им максимальные делители, не считая самого числа. from fnmatch import *
for x in range(3520, 10**7):
if fnmatch(str(x), '3*52?'):
divisors = set()
for j in range(2, int(x ** 0.5) + 1):
if x % j == 0:
divisors.add(j)
divisors.add(x // j)
if len(divisors) % 2 != 0:
print(x, max(divisors)) Комментарии к решению: Ответ:
3143529 1047843
3175524 1587762
3200521 1789
3845521 103933
3908529 1302843 Информатика ЕГЭ | itpy 👨💻