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()