Menu
CoddyTech

Perfect Number

Собственный делитель n — это положительный делитель, меньший самого числа n. Совершенное число равно сумме своих собственных делителей: 6 = 1 + 2 + 3. Дан положительный целочисленный n. Верните true, если n — совершенное число, и false в противном случае.

Функция

isPerfect(n: integer) → boolean
ninteger
положительное целое число для проверки
Возвращаетboolean
true, если n равно сумме своих собственных делителей, иначе false

Ограничения

  • 1 ≤ n ≤ 108

Примеры

Ввод
n = 28
Вывод
true
Пояснение
Собственные делители числа 28 — это 1, 2, 4, 7 и 14. В сумме они дают 28, поэтому 28 — совершенное число.

lock icon+16 скрытых тестов при отправке

challenge icon

Дополнительный вопрос

Каждое чётное совершенное число имеет вид 2^(p-1) × (2^p-1), где 2^p-1 — простое число. Можешь перечислить все совершенные числа меньше 10^8 по этой формуле, не проверяя каждое число?

Сбросить код
def isPerfect(n):
    # Напишите код здесь
Тестовые случаи

Случай 1

Случай 2

Случай 3

Ввод

n = 28

Ожидается

true