diff options
Diffstat (limited to '075.py')
| -rw-r--r-- | 075.py | 29 |
1 files changed, 29 insertions, 0 deletions
@@ -0,0 +1,29 @@ +# generating Pythagorean triplets + +limit = 1500000 +limit_search = 900 +squares = [ x*x for x in xrange(limit) ] +triangles = [ set() for x in xrange(limit+1) ] + + +for m in xrange(1, limit_search): + for n in xrange(1, m): + (a,b,c) = (squares[m] - squares[n], 2*m*n, squares[m] + squares[n]) + if a > b: + (a,b,c) = (b,a,c) + + k = 1 + while True: + if k*(a+b+c) > limit: + break + triangles[k*a + k*b + k*c].add((k*a,k*b,k*c)) + k += 1 + + +count = 0 +for t in triangles: + if len(t) == 1: + count += 1 + +print count + |
