Текстовый файл состоит из символов, обозначающих заглавные буквы латинского алфавита и цифры от 1 до 9 включительно. Определите количество различных чисел в файле, у которых ровно 6 нетривиальных делителей.
Примечание: все числа заключены между буквами или между буквой и началом или концом строки. Таким образом в строке ABC123D лишь одно число — 123.
def divs(x):
d = set()
for i in range(2, int(x**0.5) + 1):
if x % i == 0:
d |= {i,x//i}
return sorted(d)
f = open("24_12946.txt").readline().strip()
for i in "QWERTYUIOPASDFGHJKLZXCVBNM":
f = f.replace(i, "*")
f = f.split("*")
numb = [x for x in f if len(x) > 0 and len(divs(int(x))) == 6]
print(len(set(numb)))
Ответ: 5301