Skip to content

Commit f45c93e

Browse files
Merge pull request matthewsamuel95#607 from adamyordan/master
added Math/Power implementation and test in python
2 parents 9dd96d2 + c00253c commit f45c93e

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

Math/Power/power.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
def power(x, y):
2+
"Caculate x ** y"
3+
n = 1
4+
while y:
5+
if y & 1:
6+
n *= x
7+
y >>= 1
8+
x *= x
9+
return n
10+
11+
12+
def test():
13+
assert (2 ** 5 == power(2, 5))
14+
assert (3 ** 4 == power(3, 4))
15+
assert (5 ** 2 == power(5, 2))
16+
assert (1 ** 0 == power(1, 0))
17+
assert (0 ** 0 == power(0, 0))
18+
19+
20+
if __name__ == '__main__':
21+
test()

0 commit comments

Comments
 (0)