Задание 25. Информатика. Демо 2021
- Просмотры: 154
- Изменено: 23 ноября 2024
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [174457; 174505], числа, имеющие ровно два различных натуральных делителя, не считая единицы и самого числа. Для каждого найденного числа запишите эти два делителя в таблицу на экране с новой строки в порядке возрастания произведения этих двух делителей. Делители в строке таблицы также должны следовать в порядке возрастания.
Решение:
Python
def search_div(n):
divisors = set()
for i in range(2, int(n**0.5)+1):
if not n % i:
divisors.add(i)
divisors.add(n//i)
if len(divisors) > 2:
break
return divisors
for i in range(174457, 174506):
d = [*search_div(i)]
if len(d) == 2:
d.sort()
print(*d)
Ответ:
3 58153
7 24923
59 2957
13 13421
149 1171
5 34897
211 827
2 87251