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>
This commit is contained in:
Atharva SJ Pagar
2026-09-14 07:00:15 +02:00
committed by GitHub
co-authored by pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
parent e924e42d90
commit 688304911c
@@ -0,0 +1,34 @@
"""Alternating Harmonic Series Checker"""
# https://en.wikipedia.org/wiki/Alternating_harmonic_series
def is_alternate_harmonic_series(series: list) -> bool:
"""
Returns True if the given series is an Alternating Harmonic Series.
Examples:
>>> is_alternate_harmonic_series([1, -1/2, 1/3, -1/4])
True
>>> is_alternate_harmonic_series([1, 1/2, 1/3])
False
>>> is_alternate_harmonic_series([])
False
"""
if not series:
return False
for i, value in enumerate(series):
expected = ((-1) ** i) * (1 / (i + 1))
if abs(value - expected) > 1e-9:
return False
return True
if __name__ == "__main__":
sample = [1, -1 / 2, 1 / 3, -1 / 4]
print(is_alternate_harmonic_series(sample))