Задание 25. Информатика. ЕГЭ. Поляков-2570
- Просмотры: 93
- Изменено: 22 ноября 2024
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку \([135743; \, 135789]\), числа, имеющие ровно \(6\) различных делителей. В ответе для каждого найденного числа запишите два его наибольших делителя в порядке возрастания.
Решение:
Python
def find_div(n):
divisors = set()
for i in range(1, int(n**0.5)+1):
if n % i == 0:
divisors.add(i)
divisors.add(n//i)
if len(divisors) > 6:
break
return divisors
for i in range(135743, 135790):
d = [*find_div(i)]
if len(d) == 6:
d.sort()
print(d[4], d[5])
Ответ:
45249 135747
67874 135748
67882 135764
27155 135775