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
|