summaryrefslogtreecommitdiff
path: root/075.py
blob: 58e9136dc52da44fd3a368ebf7f1cd079746e675 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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