(Б.С. Михлин) Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку \([194441; \, 196500]\) числа (в порядке возрастания) с нечётным количеством делителей. Для каждого такого числа выведите само число и делитель, квадрат которого равен этому числу.
Решение:
Python
for n in range(194441, 196501):
ds = {d for i in range(1, int(n**0.5) + 1) if n % i == 0
for d in (i, n // i)}
if len(ds) % 2:
div = sorted(list(ds))
print(n, div[len(div) // 2])
Ответ:
\(194481 \,\, 441\)
\(195364 \,\, 442\)
\(196249 \,\, 443\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене