Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import math
- triple_lim = 20
- triple_list = []
- def genTriple(m, n):
- a = m*m - n*n
- b = 2*m*n
- triple_list.append((a, b))
- def gcd(m,n):
- while n != 0:
- t = n
- n = m % n
- m = t
- return m
- def lcm(x, y):
- a = x
- b = y
- while x != y:
- if x > y:
- y += b
- else:
- x += a
- return x
- def genBrick(t1, t2):
- for i in range(2):
- for j in range(2):
- a1 = t1[i]
- b1 = t1[(i+1)%2]
- a2 = t2[j]
- b2 = t2[(j+1)%2]
- a = lcm(a1, a2)
- b1 *= a/a1
- a1 = a
- b2 *= a/a2
- a2 = a
- if math.sqrt(b1*b1 + b2*b2)%1 == 0:
- print(a, b1, b2)
- for n in range(1,triple_lim):
- for m in range(n+1, triple_lim, 2):
- if gcd(m,n) == 1:
- genTriple(m,n)
- for i in range(len(triple_list)):
- for j in range(i+1, len(triple_list)):
- genBrick(triple_list[i], triple_list[j])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement