Skip to content

Commit 2789206

Browse files
committed
Add alternating harmonic series checker
1 parent 791deb4 commit 2789206

1 file changed

Lines changed: 33 additions & 0 deletions

File tree

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
"""Alternating Harmonic Series Checker"""
2+
3+
4+
def is_alternate_harmonic_series(series: list) -> bool:
5+
"""
6+
Returns True if the given series is an Alternating Harmonic Series.
7+
8+
Examples:
9+
>>> is_alternate_harmonic_series([1, -1/2, 1/3, -1/4])
10+
True
11+
12+
>>> is_alternate_harmonic_series([1, 1/2, 1/3])
13+
False
14+
15+
>>> is_alternate_harmonic_series([])
16+
False
17+
"""
18+
19+
if not series:
20+
return False
21+
22+
for i, value in enumerate(series):
23+
expected = ((-1) ** i) * (1 / (i + 1))
24+
25+
if abs(value - expected) > 1e-9:
26+
return False
27+
28+
return True
29+
30+
31+
if __name__ == "__main__":
32+
sample = [1, -1 / 2, 1 / 3, -1 / 4]
33+
print(is_alternate_harmonic_series(sample))

0 commit comments

Comments
 (0)