From 9d16dc22752c87de2719c34bebd7ef7f4837aefc Mon Sep 17 00:00:00 2001 From: Utsav1999 Date: Sun, 26 Jul 2020 02:17:36 +0530 Subject: [PATCH 1/2] Added Exponent Finding program --- maths/exponent_recursion.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 maths/exponent_recursion.py diff --git a/maths/exponent_recursion.py b/maths/exponent_recursion.py new file mode 100644 index 000000000000..868d1d5dc641 --- /dev/null +++ b/maths/exponent_recursion.py @@ -0,0 +1,27 @@ +''' + =============================== Finding Exponent using Recursion ======================= + + i/p --> + Enter the base: 3 + Enter the exponent: 4 + o/p --> + 3 to the power of 4: 81 + + + i/p --> + Enter the base: 2 + Enter the exponent: 0 + o/p --> + 2 to the power of 0: 1 +''' +def powerCalculation(n: int, p: int)->int: + if(p == 0): + return 1 + else: + return (n * powerCalculation(n, (p-1))) + +if __name__ == "__main__": + n = int(input("Enter the base: ")) + p = int(input("Enter the exponent: ")) + result = powerCalculation(n, p) + print("{} to the power of {}: {}".format(n, p, result)) From 902755e6ca70fba352a763d0a9610ece5591ab19 Mon Sep 17 00:00:00 2001 From: Utsav Akash Naskar Date: Sun, 26 Jul 2020 20:28:29 +0530 Subject: [PATCH 2/2] Update maths/exponent_recursion.py Co-authored-by: Christian Clauss --- maths/exponent_recursion.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/maths/exponent_recursion.py b/maths/exponent_recursion.py index 868d1d5dc641..a650de7833d0 100644 --- a/maths/exponent_recursion.py +++ b/maths/exponent_recursion.py @@ -14,7 +14,13 @@ o/p --> 2 to the power of 0: 1 ''' -def powerCalculation(n: int, p: int)->int: +def power(base: int, exponent: int)->int: + """ + >>> all(power(base, exponent) == pow(base, exponent) + ... for base in range(-10, 10) for exponent in range(10)) + True + """ + return base * power(base, exponent - 1) if exponent > 0 else 1 if(p == 0): return 1 else: