Arithmetic's Power function (exponentiation)
How to implement Arithmetic's Exponentiation function in Python?
If n is a positive integer and x is any real number, then x^n corresponds to repeated multiplication of x n
times.
1
  | x^n = x * x * x * .... * x
  | 
x^n is represented as pow(x, n)
pow(x, n) implementation in Python
Brute-Force Implementation
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
  | #!/usr/bin/env python3
# Function to implement power x^y
def power(x, y):
    temp = 1
    if y>0:
        while y>0:
            temp *= x
            y -= 1
    # handle negative y and float x
    else:
        while y<0:
            temp /=x
            y += 1
    return temp
  | 
Time Complexity
Time Complexity: O(n)
Optimised Implementation
x^n is represented as pow(x, n)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
  | #!/usr/bin/env python3
# Function to implement power x^y
def power(x, y):
    if(y == 0):
        return 1
    temp = power(x, int(y/2))
    if (y % 2 == 0):
        return temp * temp
    else:
        # handle negative y and float x
        if(y > 0):
            return x * temp * temp
        else:
            return (temp * temp)/x
  | 
Time Complexity
Time Complexity: O(log(n))