Euler project 39

本当は、原始ピタゴラス数を使って解く方がいいんだけど、また今度のせます。

#-*- coding:utf-8 -*-
#Euler 39
#辺の長さが{a,b,c}と整数の3つ組である直角三角形を考え, その周囲の長さをpとする. p = 120のときには3つの解が存在する:
#{20,48,52}, {24,45,51}, {30,40,50}
#p ≦ 1000 で解の数が最大になる p を求めよ.
def main():
	N = 1000
	p = 1
	max,max_p = 0,0
	while p <= N:
		number = 0
		for i in xrange(1,p/3):
			for j in xrange(i,(p-i)/2):
				c = p - i - j
				if ( c**2 == i**2 + j**2): number += 1
		if max <= number:
			max = number
			max_p = p
		p += 1
	print max_p

if __name__=="__main__":
	main()