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