maths.special_numbers.perfect_number ==================================== .. py:module:: maths.special_numbers.perfect_number .. autoapi-nested-parse:: == Perfect Number == In number theory, a perfect number is a positive integer that is equal to the sum of its positive divisors, excluding the number itself. For example: 6 ==> divisors[1, 2, 3, 6] Excluding 6, the sum(divisors) is 1 + 2 + 3 = 6 So, 6 is a Perfect Number Other examples of Perfect Numbers: 28, 486, ... https://en.wikipedia.org/wiki/Perfect_number Attributes ---------- .. autoapisummary:: maths.special_numbers.perfect_number.number Functions --------- .. autoapisummary:: maths.special_numbers.perfect_number.perfect Module Contents --------------- .. py:function:: perfect(number: int) -> bool Check if a number is a perfect number. A perfect number is a positive integer that is equal to the sum of its proper divisors (excluding itself). Args: number: The number to be checked. Returns: True if the number is a perfect number, False otherwise. Start from 1 because dividing by 0 will raise ZeroDivisionError. A number at most can be divisible by the half of the number except the number itself. For example, 6 is at most can be divisible by 3 except by 6 itself. Examples: >>> perfect(27) False >>> perfect(28) True >>> perfect(29) False >>> perfect(6) True >>> perfect(12) False >>> perfect(496) True >>> perfect(8128) True >>> perfect(0) False >>> perfect(-1) False >>> perfect(12.34) Traceback (most recent call last): ... ValueError: number must be an integer >>> perfect("Hello") Traceback (most recent call last): ... ValueError: number must be an integer .. py:data:: number