2010年12月28日火曜日

Project Euler

■094
疑正三角形は,(a,a,a+1)又は(a,a+1,a+1)となる.
前者の面積は,
S=(a+1)/4√[(a-1)(3a+1)]
後者については,
S=a/4√[(a+2)(3a+2)]
となるので,根号の中身が平方数になるものを逐一数えていけば良い.

■095
真の約数の和を事前に求めておく.ある数aについて約数の和を再帰的に求めていき循環するかどうかを調べる.

■231
20000000までの素数を列挙しておけば,素因数分解(O(√n))を(おそらく)高速化できる.
150000001~20000000までの数の素因数の出現頻度から,1~50000000までの数の素因数の出現頻度を引き,和を計算する.

■235
s(5000)が容易に発散してしまうため,事前に範囲を狭めておいてから二分探索.doubleでも十分計算可能.閉じた式は使う必要無し.

■265
ビット演算を少し使って,DFSするだけ.

0 件のコメント: