def two_series(iterations, divisors=(1,)): total = sum([1 / d for d in divisors]) print(" + ".join(["1/{}".format(n) for n in divisors]), "=", total) if iterations: two_series(iterations-1, divisors=(divisors + (divisors[-1]*2,))) two_series(iterations=15)
Standard input is empty
1/1 = 1.0 1/1 + 1/2 = 1.5 1/1 + 1/2 + 1/4 = 1.75 1/1 + 1/2 + 1/4 + 1/8 = 1.875 1/1 + 1/2 + 1/4 + 1/8 + 1/16 = 1.9375 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + 1/32 = 1.96875 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + 1/32 + 1/64 = 1.984375 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + 1/32 + 1/64 + 1/128 = 1.9921875 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + 1/32 + 1/64 + 1/128 + 1/256 = 1.99609375 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + 1/32 + 1/64 + 1/128 + 1/256 + 1/512 = 1.998046875 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + 1/32 + 1/64 + 1/128 + 1/256 + 1/512 + 1/1024 = 1.9990234375 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + 1/32 + 1/64 + 1/128 + 1/256 + 1/512 + 1/1024 + 1/2048 = 1.99951171875 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + 1/32 + 1/64 + 1/128 + 1/256 + 1/512 + 1/1024 + 1/2048 + 1/4096 = 1.999755859375 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + 1/32 + 1/64 + 1/128 + 1/256 + 1/512 + 1/1024 + 1/2048 + 1/4096 + 1/8192 = 1.9998779296875 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + 1/32 + 1/64 + 1/128 + 1/256 + 1/512 + 1/1024 + 1/2048 + 1/4096 + 1/8192 + 1/16384 = 1.99993896484375 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + 1/32 + 1/64 + 1/128 + 1/256 + 1/512 + 1/1024 + 1/2048 + 1/4096 + 1/8192 + 1/16384 + 1/32768 = 1.999969482421875