From d851f8bef35eb30d83d0c980f272eb57fe67aaa7 Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Wed, 30 Nov 2011 00:21:21 +0100 Subject: solved projecteuler 75 --- src/projecteuler/075.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/projecteuler/075.py diff --git a/src/projecteuler/075.py b/src/projecteuler/075.py new file mode 100644 index 0000000..58e9136 --- /dev/null +++ b/src/projecteuler/075.py @@ -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 + -- cgit v1.2.3