""" pyth.py Find (a,b,c) such that a < b < c a + b + c = N => c = N - a - b a*a + b*b = c*c In class playing around ... """ N = 100 for a in range(1, N+1): # 100 times for b in range(1, N+1): # 100*100 for c in range(1, N+1): # 100*100*100 if a < b < c and a + b + c == N and a*a + b*b == c*c: print(" a,b,c is ", a, b,c) # ----------------------------------------------------------------- # a : 1 2 3 4 5 # b 1 . * * * * # 2 . . * * * # 3 . . . * * # 4 . . . . * # 5 . . . . . for a in range(1, N+1): # check all options for b in range(a+1, N+1): # "BRUTE FORCE" c = N - a - b if c > a and c > b: if a*a + b*b == c*c: print("a, b, c is ", a, b, c) # --- even better ----------------------- # since b > a , so b < N/2 # since c > b > a , so a < N/3 for a in range(1, N//3): for b in range(a+1, N//2): c = N - a - b if c > b and a*a + b*b == c*c: print(a,b,c) def is_pyth(a, b, c): """ True if a, b, c form a pythagorean triple """ return a*a + b*b == c*c assert is_pyth(3, 4, 5), "valid pyth" assert not is_pyth(1, 2, 3), "invalid pyth" def search(n): """ search for a,b,c up to n """ pass # ... we didn't finish this.