2010年12月31日金曜日

Project Euler

■110
x=n+k
と置くと,
y=n2/k+n
となる.kはn2を割り切る必要があるため,重複を含めてn2の約数の数だけ解があることが分かる.
n=2r13r25r3
のように素因数分解出来たとき,n2の約数の数cは,
c=(2r1+1)(2r2+1)(2r3+1)…
となる.
cが8000000(重複しているので2倍)を超えるような最小のnを探索で見つける.

■135
x=a+2d,y=a+d,z=a
と置くと,
(-a+3d)(a+d)=n
となり,
n=pq
とすれば,
d=(p+q)/4
a=(-p+3q)/4
となる.nについて,a,dがそれぞれ自然数となるような(p,q)の個数が解の個数となる.

■136
135を流用.非常に時間がかかった.

■139
a<b<cとすると,小正方形の面積は,
c2-2ab=(a-b)2
なので,小正方形の辺の長さmは,
m=(b-a)
つまり(b-a)|cであるものを数えれば良い.
ピタゴラス数生成行列で探索するだけ.

0 件のコメント: