Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import math
- triple_lim = 20
- triple_list = []
- conjecture = True
- 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):
- brickGenerated = []
- brickCount = 0
- for i in range(0,4):
- brickGenerated.append(False)
- ##gen brick with lcm(a1, a2)
- a1 = t1[0]
- b1 = t1[1]
- a2 = t2[0]
- b2 = t2[1]
- a = lcm(a1, a2)
- b1 *= a/a1
- a1 = a
- b2 *= a/a2
- a2 = a
- if math.sqrt(b1*b1 + b2*b2)%1 == 0:
- brickGenerated[0] = True
- print(a, b1, b2)
- brickCount += 1
- ##gen brick with lcm(b1, a2)
- a1 = t1[1]
- b1 = t1[0]
- a2 = t2[0]
- b2 = t2[1]
- a = lcm(a1, a2)
- b1 *= a/a1
- a1 = a
- b2 *= a/a2
- a2 = a
- if math.sqrt(b1*b1 + b2*b2)%1 == 0:
- brickGenerated[1] = True
- print(a, b1, b2)
- brickCount += 1
- ##gen brick with lcm(a1, b2)
- a1 = t1[0]
- b1 = t1[1]
- a2 = t2[1]
- b2 = t2[0]
- a = lcm(a1, a2)
- b1 *= a/a1
- a1 = a
- b2 *= a/a2
- a2 = a
- if math.sqrt(b1*b1 + b2*b2)%1 == 0:
- brickGenerated[2] = True
- print(a, b1, b2)
- brickCount += 1
- ##gen brick with lcm(b1, b2)
- a1 = t1[1]
- b1 = t1[0]
- a2 = t2[1]
- b2 = t2[0]
- a = lcm(a1, a2)
- b1 *= a/a1
- a1 = a
- b2 *= a/a2
- a2 = a
- if math.sqrt(b1*b1 + b2*b2)%1 == 0:
- brickGenerated[3] = True
- print(a, b1, b2)
- brickCount += 1
- if brickGenerated[0] != brickGenerated[3] or brickGenerated[1] != brickGenerated[2] or brickCount != (2 or 0):
- conjecture = False
- 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])
- if conjecture == False:
- print("Conjecture False")
- else:
- print("Conjecture True")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement