# Среди натуральных чисел, не превышающих 10**7, найдите все числа, соответствующие
# маске 3*52?, у которых нечётное количество делителей. В ответе запишите в
# первом столбце таблицы все найденные числа в порядке возрастания, а во
# втором столбце – соответствующие им максимальные делители, не считая самого числа.
from fnmatch import *
def checkBinDels(n):
if ((n**0.5) % 1 == 0):
return True
return False
def findLastDel(n):
for i in range(n - 1, 1, -1):
if ((n % i) == 0):
return i;
for i in range(1, 10**7):
a = str(i)
if fnmatch(a, '3*52?') and checkBinDels(i):
print(i, findLastDel(i))