Задание 25. Информатика. ЕГЭ. Поляков-2564
- Просмотры: 133
- Изменено: 25 ноября 2024
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку \([194455; 194500]\), числа, имеющие ровно 4 различных делителя. В ответе для каждого найденного числа запишите два его наибольших делителя в порядке возрастания.
Решение:
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) > 4:
break
return divisors
for i in range(194455, 194501):
d = [*find_div(i)]
if len(d) == 4:
d.sort()
print(d[2], d[3])
Ответ:
38891 194455
1193 194459
1399 194461
97231 194462
1721 194473
443 194477
97241 194482
4523 194489
17681 194491