Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import math
- done = []
- sol = [n]
- def PythTriple(n):
- k = 2
- while k <=n:
- sol = [n]
- sol1 = []
- sol2 = []
- if math.floor(math.sqrt(2*k*n+k**2))==math.sqrt(2*k*n+k**2) and \
- n+k != 0 and \
- math.sqrt(2*k*n+k**2) != 0:
- add(map(int, '{0:g}'.format(math.sqrt(2*k*n+k**2))),n+k)
- if math.floor(math.sqrt(2*k*n-k**2))==math.sqrt(2*k*n-k**2) and \
- n-k != 0 and \
- math.sqrt(2*k*n-k**2) != 0:
- add(map(int, '{0:g}'.format(math.sqrt(2*k*n-k**2))),n-k)
- if math.floor(n/float(k))==(n/float(k)):
- if math.floor(((n**2)/(2*k))-0.5*k)==((n**2)/(2*k))-0.5*k and \
- ((n**2)/(2*k))-0.5*k != 0:
- add(map(int, '{0:g}'.format(((n**2)/(2*k))-0.5*k)),
- map(int, '{0:g}'.format(((n**2)/(2*k))+0.5*k)))
- k += 1
- print done
- def add(sol1,sol2):
- if sol1 in done and sol2 in done:
- sol1 = 0
- sol2 = 0
- else:
- sol.extend(sol1)
- sol.extend(sol2)
- sol.sort()
- done.extend(sol)
- sol = [n]
Advertisement
Add Comment
Please, Sign In to add comment