fork download
  1. import decimal
  2. import fractions
  3. D = decimal.Decimal
  4. F = fractions.Fraction
  5.  
  6. def series(u0, u1):
  7. yield u0
  8. yield u1
  9. while u0 != u1:
  10. un = 2003 - 6002/u1 + 4000/(u1*u0)
  11. yield un
  12. u1, u0 = un, u1
  13.  
  14. decimal.getcontext().prec = 60
  15. for i, (d, f) in enumerate(zip(series(D(3)/2, D(5)/3), series(F(3)/2, F(5)/3))):
  16. print("%02d %s error: %.2g" % (i, d, (F.from_decimal(d)-f)/f))
  17.  
Success #stdin #stdout 0.08s 7300KB
stdin
Standard input is empty
stdout
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