Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # pi.py -- imlementation of Gibbons' spigot algorithm for pi
- # John Zelle 4-5-06
- def pi_digits():
- """generator for digits of pi"""
- q,r,t,k,n,l = 1,0,1,1,3,3
- while True:
- if 4*q+r-t < n*t:
- yield n
- q,r,t,k,n,l = (10*q,10*(r-n*t),t,k,(10*(3*q+r))//t-10*n,l)
- else:
- q,r,t,k,n,l = (q*k,(2*q+r)*l,t*l,k+1,(q*(7*k+2)+r*l)//(t*l),l+2)
Advertisement
Add Comment
Please, Sign In to add comment