Skip to content

Commit 6883049

Browse files
Add alternating harmonic series checker (#14634)
* Add alternating harmonic series checker * Add reference link for alternating harmonic series * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent e924e42 commit 6883049

1 file changed

Lines changed: 34 additions & 0 deletions

File tree

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

0 commit comments

Comments
 (0)