from fractions import Fraction

def bernoulli(n):
    """Return the nth Bernoulli number (Akiyama-Tanigawa algorithm)."""
    A = [Fraction(0)] * (n + 1)
    for m in range(n + 1):
        A[m] = Fraction(1, m + 1)
        for j in range(m, 0, -1):
            A[j - 1] = j * (A[j - 1] - A[j])
    return A[0]

print([str(bernoulli(n)) for n in range(8)])
Retrieved from "https://wikibase.ronzz.org/wiki/Special:Embed/Q1129"