maths.perfect_square

Functions

perfect_square(→ bool)

Check if a number is perfect square number or not

perfect_square_binary_search(→ bool)

Check if a number is perfect square using binary search.

Module Contents

maths.perfect_square.perfect_square(num: int) bool

Check if a number is perfect square number or not :param num: the number to be checked :return: True if number is square number, otherwise False

>>> perfect_square(9)
True
>>> perfect_square(16)
True
>>> perfect_square(1)
True
>>> perfect_square(0)
True
>>> perfect_square(10)
False

Check if a number is perfect square using binary search. Time complexity : O(Log(n)) Space complexity: O(1)

>>> perfect_square_binary_search(9)
True
>>> perfect_square_binary_search(16)
True
>>> perfect_square_binary_search(1)
True
>>> perfect_square_binary_search(0)
True
>>> perfect_square_binary_search(10)
False
>>> perfect_square_binary_search(-1)
False
>>> perfect_square_binary_search(1.1)
False
>>> perfect_square_binary_search("a")
Traceback (most recent call last):
    ...
TypeError: '<=' not supported between instances of 'int' and 'str'
>>> perfect_square_binary_search(None)
Traceback (most recent call last):
    ...
TypeError: '<=' not supported between instances of 'int' and 'NoneType'
>>> perfect_square_binary_search([])
Traceback (most recent call last):
    ...
TypeError: '<=' not supported between instances of 'int' and 'list'