Задание 25. Информатика. ЕГЭ. Поляков-2588
- Просмотры: 130
- Изменено: 24 ноября 2024
(Д.Ф. Муфаззалов) Совершенным называется число, натуральное число, равное сумме всех своих собственных делителей (то есть всех положительных делителей, отличных от самого́ числа) (например, число \( 6=1+2+3 \)). ) Выведите каждое совершенное число из диапазона \( [2; \,\, 10000]\) и количество его собственных делителей в порядке возрастания. Вывод каждого совершенного числа начинайте с новой строки. Числа в строке разделяйте пробелом.
Решение:
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, 10001):
d = divisors(x)
if x == sum(d):
print(x, len(d))
Ответ:
\( 6 \,\, 3\)
\( 28 \,\, 5\)
\( 496 \,\, 9\)
\( 8128 \,\, 13\)