Задача: Идеальное число

Задача: Идеальное число

https://t.me/pythonl

Условие: идеальное число - это положительное целое число, которое равно сумме делителей этого же числа, за исключением самого числа.

Необходимо проверить входное число на идеальность.


Пример:

Ввод: num = 28

Вывод: true

Объяснение: 28 = 1 + 2 + 4 + 7 + 14


Ввод: num = 7

Вывод: false


Решение:

Python

class Solution:
    def checkPerfectNumber(self, n: int) -> bool:
        if n==1:
            return False
        sq=int(sqrt(n))
        s=1
        for i in range(2,sq+1):
            if n%i==0:
                t=n//i
                s+=t+i
        if s==n:
            return True
        return False



Report Page