## 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.

``````x^n = x * x * x * .... * x
``````

`x^n` is represented as `pow(x, n)`

## `pow(x, n)` implementation in Python#

### Brute-Force Implementation#

``````#!/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)`

``````#!/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))`