8000 Fixed working for 0 and negative power values. · dingcx/pythonAlgorithms@1f4e774 · GitHub
[go: up one dir, main page]

Skip to content

Commit 1f4e774

Browse files
Cegardabranhe
authored andcommitted
Fixed working for 0 and negative power values.
1 parent a77de02 commit 1f4e774
< 8000 /div>

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

algorithms/recursion/exponentiation.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,20 @@
22
def exponentiation(baseNumber, power):
33
answer = None
44

5-
if power == 1:
6-
answer = baseNumber
7-
8-
elif power == 2:
9-
answer = baseNumber * baseNumber
10-
11-
else:
5+
if power > 1:
126
halfAnswer = exponentiation(baseNumber, power//2)
137
answer = halfAnswer * halfAnswer
148

159
if power%2 == 1:
1610
answer *= baseNumber
1711

18-
return answer
12+
elif power == 1:
13+
answer = baseNumber
14+
15+
elif power == 0:
16+
answer = 1
17+
18+
else: # negative power
19+
answer = 1 / exponentiation(baseNumber, abs(power))
20+
21+
return answer

0 commit comments

Comments
 (0)
0