Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 25. Информатика. ЕГЭ. Поляков-2589
- Просмотры: 1406
- Изменено: 1 февраля 2025
(Д.Ф. Муфаззалов) Два числа называются дружественными если сумма собственных делителей (то есть всех положительных делителей, отличных от самого́ числа) любого их них равна другому числу. Например, числа \(220\) и \(284\) дружественные. Выведите в порядке возрастания числа в диапазоне \( [2; \,\, 30000]\), имеющие дружественное число, большее чем само это число, и через пробел это дружественное число. Каждое следующие число из указанного диапазона выводите на новой строке.
Решение:
Python
def divisors(n):
d = set()
d.add(1)
for x in range(2, int(n**0.5)+1):
if n % x == 0:
d.add(x)
d.add(n // x)
return d
for x in range(2, 30001):
sum_div = sum(divisors(x))
if sum_div > x and x == sum(divisors(sum_div)):
print(x, sum_div)
Ответ:
\( 220 \,\, 284\)
\( 1184 \,\, 1210\)
\( 2620 \,\, 2924\)
\( 5020 \,\, 5564\)
\( 6232 \,\, 6368\)
\( 10744 \,\, 10856\)
\( 12285 \,\, 14595\)
\( 17296 \,\, 18416\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


