fork download
  1. def pi():
  2. N = 0
  3. n, d = 0, 1
  4. while True:
  5. xn = (120*N**2 + 151*N + 47)
  6. xd = (512*N**4 + 1024*N**3 + 712*N**2 + 194*N + 15)
  7. n = ((16 * n * xd) + (xn * d)) % (d * xd)
  8. d *= xd
  9. yield 16 * n // d
  10. N += 1
  11.  
  12.  
  13. pi_gen = pi()
  14. import sys
  15. sys.stdout.write("pi = 3.")
  16. for i in range(2000):
  17. sys.stdout.write("0123456789ABCDEF"[pi_gen.next()])
  18. if (((i+1) % 64) == 0):
  19. sys.stdout.write("+\n")
  20. sys.stdout.write("\n")
  21.  
Success #stdin #stdout 0.48s 10896KB
stdin
Standard input is empty
stdout
pi = 3.243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89+
452821E638D01377BE5466CF34E90C6CC0AC29B7C97C50DD3F84D5B5B5470917+
9216D5D98979FB1BD1310BA698DFB5AC2FFD72DBD01ADFB7B8E1AFED6A267E96+
BA7C9045F12C7F9924A19947B3916CF70801F2E2858EFC16636920D871574E69+
A458FEA3F4933D7E0D95748F728EB658718BCD5882154AEE7B54A41DC25A59B5+
9C30D5392AF26013C5D1B023286085F0CA417918B8DB38EF8E79DCB0603A180E+
6C9E0E8BB01E8A3ED71577C1BD314B2778AF2FDA55605C60E65525F3AA55AB94+
5748986263E8144055CA396A2AAB10B6B4CC5C341141E8CEA15486AF7C72E993+
B3EE1411636FBC2A2BA9C55D741831F6CE5C3E169B87931EAFD6BA336C24CF5C+
7A325381289586773B8F48986B4BB9AFC4BFE81B6628219361D809CCFB21A991+
487CAC605DEC8032EF845D5DE98575B1DC262302EB651B8823893E81D396ACC5+
0F6D6FF383F442392E0B4482A484200469C8F04A9E1F9B5E21C66842F6E96C9A+
670C9C61ABD388F06A51A0D2D8542F68960FA728AB5133A36EEF0B6C137A3BE4+
BA3BF0507EFB2A98A1F1651D39AF017666CA593E82430E888CEE8619456F9FB4+
7D84A5C33B8B5EBEE06F75D885C12073401A449F56C16AA64ED3AA62363F7706+
1BFEDF72429B023D37D0D724D00A1248DB0FEAD349F1C09B075372C980991B7B+
25D479D8F6E8DEF7E3FE501AB6794C3B976CE0BD04C006BAC1A94FB6409F60C4+
5E5C9EC2196A246368FB6FAF3E6C53B51339B2EB3B52EC6F6DFC511F9B30952C+
CC814544AF5EBD09BEE3D004DE334AFD660F2807192E4BB3C0CBA85745C8740F+
D20B5F39B9D3FBDB5579C0BD1A60320AD6A100C6402C7279679F25FEFB1FA3CC+
8EA5E9F8DB3222F83C7516DFFD616B152F501EC8AD0552AB323DB5FAFD238760+
53317B483E00DF829E5C57BBCA6F8CA01A87562EDF1769DBD542A8F6287EFFC3+
AC6732C68C4F5573695B27B0BBCA58C8E1FFA35DB8F011A010FA3D98FD2183B8+
4AFCB56C2DD1D35B9A53E479B6F84565D28E49BC4BFB9790E1DDF2DAA4CB7E33+
62FB1341CEE4C6E8EF20CADA36774C01D07E9EFE2BF11FB495DBDA4DAE909198+
EAAD8E716B93D5A0D08ED1D0AFC725E08E3C5B2F8E7594B78FF6E2FBF2122B64+
8888B812900DF01C4FAD5EA0688FC31CD1CFF191B3A8C1AD2F2F2218BE0E1777+
EA752DFE8B021FA1E5A0CC0FB56F74E818ACF3D6CE89E299B4A84FE0FD13E0B7+
7CC43B81D2ADA8D9165FA2668095770593CC7314211A1477E6AD206577B5FA86+
C75442F5FB9D35CFEBCDAF0C7B3E89A0D6411BD3AE1E7E4900250E2D2071B35E+
226800BB57B8E0AF2464369BF009B91E5563911D59DFA6AA78C14389D95A537F+
207D5BA202E5B9C5