Mrahta9817

Pythag

Mar 5th, 2015
264
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.22 KB | None | 0 0
  1. import math
  2.  
  3. done = []
  4. sol = [n]
  5.  
  6. def PythTriple(n):
  7.  
  8.     k = 2      
  9.  
  10.        while k <=n:
  11.         sol = [n]
  12.         sol1 = []
  13.         sol2 = []
  14.        
  15.         if math.floor(math.sqrt(2*k*n+k**2))==math.sqrt(2*k*n+k**2) and \
  16.            n+k != 0 and \
  17.            math.sqrt(2*k*n+k**2) != 0:
  18.             add(map(int, '{0:g}'.format(math.sqrt(2*k*n+k**2))),n+k)
  19.            
  20.         if math.floor(math.sqrt(2*k*n-k**2))==math.sqrt(2*k*n-k**2) and \
  21.            n-k != 0  and \
  22.            math.sqrt(2*k*n-k**2) != 0:
  23.             add(map(int, '{0:g}'.format(math.sqrt(2*k*n-k**2))),n-k)                
  24.                
  25.         if math.floor(n/float(k))==(n/float(k)):
  26.             if math.floor(((n**2)/(2*k))-0.5*k)==((n**2)/(2*k))-0.5*k and \
  27.               ((n**2)/(2*k))-0.5*k != 0:
  28.                 add(map(int, '{0:g}'.format(((n**2)/(2*k))-0.5*k)),
  29.                     map(int, '{0:g}'.format(((n**2)/(2*k))+0.5*k)))
  30.         k += 1
  31.  
  32.     print done
  33.  
  34.  def add(sol1,sol2):
  35.         if sol1 in done and sol2 in done:
  36.             sol1 = 0
  37.             sol2 = 0
  38.  
  39.         else:
  40.             sol.extend(sol1)
  41.             sol.extend(sol2)
  42.             sol.sort()
  43.             done.extend(sol)
  44.             sol = [n]
Advertisement
Add Comment
Please, Sign In to add comment