Kaydet (Commit) bbd290ab authored tarafından Raymond Hettinger's avatar Raymond Hettinger

Revert previous change which didn't make sense the next day :-)

üst 0b565a6e
...@@ -8,25 +8,27 @@ ...@@ -8,25 +8,27 @@
# published by Prentice-Hall (UK) Ltd., 1990. # published by Prentice-Hall (UK) Ltd., 1990.
import sys import sys
from mpz import mpz
def main(): def main():
k, a, b, a1, b1 = 2, 4, 1, 12, 4 mpzone, mpztwo, mpzten = mpz(1), mpz(2), mpz(10)
while 1: k, a, b, a1, b1 = mpz(2), mpz(4), mpz(1), mpz(12), mpz(4)
# Next approximation while 1:
p, q, k = k*k, 2*k+1, k+1 # Next approximation
a, b, a1, b1 = a1, b1, p*a+q*a1, p*b+q*b1 p, q, k = k*k, mpztwo*k+mpzone, k+mpzone
# Print common digits a, b, a1, b1 = a1, b1, p*a+q*a1, p*b+q*b1
d, d1 = a/b, a1/b1 # Print common digits
while d == d1: d, d1 = a/b, a1/b1
output(d) while d == d1:
a, a1 = 10*(a%b), 10*(a1%b1) output(d)
d, d1 = a/b, a1/b1 a, a1 = mpzten*(a%b), mpzten*(a1%b1)
d, d1 = a/b, a1/b1
def output(d): def output(d):
# Use write() to avoid spaces between the digits # Use write() to avoid spaces between the digits
# Use int(d) to avoid a trailing L after each digit # Use int(d) to avoid a trailing L after each digit
sys.stdout.write(`int(d)`) sys.stdout.write(`int(d)`)
# Flush so the output is seen immediately # Flush so the output is seen immediately
sys.stdout.flush() sys.stdout.flush()
main() main()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment