2009-01-18から1日間の記事一覧

Problem 180

http://projecteuler.net/index.php?section=problems&id=180 式変形する。はじめはnの範囲が有界でなくて、戸惑ったが、フェルマーの定理だった。 import Control.Monad (guard,liftM) import Data.Ratio (denominator,numerator,(%)) import Data.Set (fro…

Problem 214

http://projecteuler.net/index.php?section=problems&id=214 前にHaskellで挑戦して、どうも遅くて解けなかったが、 Problem 179を解いて、ふるいを使えば効率よくΦ関数が計算できることに気がついた。 手続き型のほうが書きやすそうなのでjavaで。 public …

Problem 179

http://projecteuler.net/index.php?section=problems&id=179 たいていの場合、素因数分解は重い。 エラトステネスのふるいとDPを組み合わせたようなアルゴリズム。 単純な繰り返しでかける。Cのコード。 #include <stdio.h> #define LIM 10000001 #define SQR 3163 i</stdio.h>…

Problem 178

http://projecteuler.net/index.php?section=problems&id=178 状態で考えると状態は今までの最小数字、最大数字、最後の数字で表現できる。 状態数は高々10^3。 import Data.Map (Map,unionWith,filterWithKey,mapKeysWith,fold,fromList) type State = (Int…