Advertisement
riskvip

Egyptian_fraction

Mar 21st, 2019
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.76 KB | None | 0 0
  1. import math
  2. import time
  3.  
  4. n = 11
  5. start = math.ceil(n/4.0)
  6.  
  7.  
  8. def run():
  9.     for a in range(start, start + 10000):
  10.         for k in range(1,500000):
  11.             P = a*k
  12.             for j in range(1,10000):
  13.                 S = 4.0*P/j - k
  14.                 delta2 = S*S-4*P
  15.                 if delta2 >= 0:
  16.                     b = (S + math.sqrt(delta2))/2.0
  17.                     c = (S - math.sqrt(delta2))/2.0
  18.                     if b >= start and c >= start and math.floor(b) == b and math.floor(c) == c:
  19.                         if n == (4.0*a*b*c)/(a*b + b*c + c*a):
  20.                             print('a b c are', a,b,c)
  21.                             return a,b,c
  22.  
  23. print("n = ", n)
  24. start_time = time.time()
  25. run()
  26. print("It takes ", time.time()-start_time)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement