2010年12月30日木曜日

Project Euler

■086
3辺をx<y<zとすると,
最短距離は
√[(x+y)2+z2]
となる.
a<b<cであるピタゴラス数
a2+b2=c2
と対比させると,
a=x+y, b=z, c=最短距離
または,
a=z, b=x+y, c=最短距離
と書ける.
ピタゴラス数(a, b, c)を適当に生成した時,前者・後者の組み合わせ数をそれぞれ以下のようになる.
・前者
1辺の最長はbで,b≦Mの時,x/2個.
・後者
1辺の最長はaで,a≦Mの時,max{(2x-y+2)/2, 0}個.

■131
実験的解法になってしまったので省略.

0 件のコメント: