Задание 25. Информатика. ЕГЭ. Поляков-2573
- Просмотры: 206
- Изменено: 24 ноября 2024
(А.Н. Носкин) Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку \([190061; \, 190072]\), числа, имеющие ровно \(4\) различных НЕЧЁТНЫХ делителя. В ответе для каждого найденного числа запишите два его наибольших нечётных делителя в порядке убывания.
Решение:
Python
def find_div(n):
divisors = set()
for i in range(1, int(n**0.5)+1):
if n % i == 0:
if i % 2:
divisors.add(i)
if n // i % 2:
divisors.add(n//i)
if len(divisors) > 4:
break
return divisors
for i in range(190061, 190073):
d = [*find_div(i)]
if len(d) == 4:
d.sort()
print(d[3], d[2])
Ответ:
190061 6131
11879 1 697
190067 2677
23759 1033