import decimal import fractions D = decimal.Decimal F = fractions.Fraction def series(u0, u1): yield u0 yield u1 while u0 != u1: un = 2003 - 6002/u1 + 4000/(u1*u0) yield un u1, u0 = un, u1 decimal.getcontext().prec = 60 for i, (d, f) in enumerate(zip(series(D(3)/2, D(5)/3), series(F(3)/2, F(5)/3))): print("%02d %s error: %.2g" % (i, d, (F.from_decimal(d)-f)/f))
Standard input is empty
00 1.5 error: 0 01 1.66666666666666666666666666666666666666666666666666666666667 error: 2e-60 02 1.80000000000000000000000000000000000000000000000000000001 error: 5.6e-57 03 1.88888888888888888888888888888888888888888888888888890000 error: 5.9e-54 04 1.94117647058823529411764705882352941176470588235295294086 error: 6.1e-51 05 1.96969696969696969696969696969696969696969696970909041001 error: 6.2e-48 06 1.98461538461538461538461538461538461538461539692247827165 error: 6.2e-45 07 1.99224806201550387596899224806201550387598139469816592783 error: 6.2e-42 08 1.99610894941634241245136186770428015565447403090877167154 error: 6.2e-39 09 1.99805068226120857699805068226120858947299350427717796980 error: 6.2e-36 10 1.99902439024390243902439024390245151149765636173023337548 error: 6.2e-33 11 1.99951195705222059541239629088609007513362189361272692276 error: 6.2e-30 12 1.99975591896509641200878692975277560318723291055207782514 error: 6.2e-27 13 1.99987794458684242646162607033284985997018449393976012344 error: 6.2e-24 14 1.99993896856881293867591019028520274762030163002308455072 error: 6.2e-21 15 1.99996948335316916627229788491449128951764338609715377715 error: 6.2e-18 16 1.99998474144377709009952432837189071256491128241308293493 error: 6.2e-15 17 1.99999237067617516726401353584182922594587843446968018193 error: 6.2e-12 18 1.99999619781653432762701011328856964534116528921452675102 error: 6.2e-09 19 2.00001059192684839924287593371694305144470804666828013017 error: 6.2e-06 20 2.012498251968530984722719935745070106464188537543232906393 error: 0.0062 21 14.421581133709802706477808878383512270048694029150259415500 error: 6.2 22 1724.63796766505794346174592159835771064198881187624410889009 error: 8.6e+02 23 1999.68067269229192055698342738614695762734716885378237206998 error: 1e+03 24 1999.99968062171823140645168453563764654908475378779011830678 error: 1e+03 25 1999.99999968062167675313421545290336220425100774431804094809 error: 1e+03 26 1999.99999999968062168146362262994711913099660585063614337680 error: 1e+03 27 1999.99999999999968062168384431646428349867088899482068721178 error: 1e+03 28 1999.99999999999999968062168503468883107802200070925296188414 error: 1e+03 29 1999.99999999999999999968062168562987503992490961928932687590 error: 1e+03 30 1999.99999999999999999999968062168592746814437380305434308678 error: 1e+03 31 1999.99999999999999999999999968062168607626469659827522149564 error: 1e+03 32 1999.99999999999999999999999999968062168615066297271051133052 error: 1e+03 33 1999.99999999999999999999999999999968062168618786211076662938 error: 1e+03 34 1999.99999999999999999999999999999999968062168620646167979469 error: 1e+03 35 1999.99999999999999999999999999999999999968062168621576146431 error: 1e+03 36 1999.99999999999999999999999999999999999999968062168622041136 error: 1e+03 37 1999.99999999999999999999999999999999999999999968062168622274 error: 1e+03 38 1999.99999999999999999999999999999999999999999999968062168623 error: 1e+03 39 1999.99999999999999999999999999999999999999999999999968062169 error: 1e+03 40 1999.99999999999999999999999999999999999999999999999999968062 error: 1e+03 41 1999.99999999999999999999999999999999999999999999999999999968 error: 1e+03 42 2000.00000000000000000000000000000000000000000000000000000000 error: 1e+03 43 2000.00000000000000000000000000000000000000000000000000000000 error: 1e+03