From a5bafc7a5878b10a3a14c7dcc2bac24e678edaa4 Mon Sep 17 00:00:00 2001 From: Iyiola <48067557+ialoko@users.noreply.github.com> Date: Thu, 12 Oct 2023 16:47:57 -0400 Subject: [PATCH] Update binary_exponentiation.py --- maths/binary_exponentiation.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/maths/binary_exponentiation.py b/maths/binary_exponentiation.py index 05de939d1bde..58afe3002ec9 100644 --- a/maths/binary_exponentiation.py +++ b/maths/binary_exponentiation.py @@ -5,6 +5,20 @@ def binary_exponentiation(a: int, n: int) -> int: + """ + Compute a number raised by some quantity + >>> binary_exponentiation(-1, 3) + -1 + >>> binary_exponentiation(-1, 4) + 1 + >>> binary_exponentiation(2, 2) + 4 + >>> binary_exponentiation(5e3, 1) + 5000.0 + >>> binary_exponentiation(-5e3, 1) + -5000.0 + """ + if n == 0: return 1 @@ -17,8 +31,11 @@ def binary_exponentiation(a: int, n: int) -> int: if __name__ == "__main__": + import doctest + + doctest.testmod() try: - BASE = int(input("Enter Base : ").strip()) + BASE = int(float(input("Enter Base : ").strip())) POWER = int(input("Enter Power : ").strip()) except ValueError: print("Invalid literal for integer")