2009-01-18から1日間の記事一覧
http://projecteuler.net/index.php?section=problems&id=180 式変形する。はじめはnの範囲が有界でなくて、戸惑ったが、フェルマーの定理だった。 import Control.Monad (guard,liftM) import Data.Ratio (denominator,numerator,(%)) import Data.Set (fro…
http://projecteuler.net/index.php?section=problems&id=214 前にHaskellで挑戦して、どうも遅くて解けなかったが、 Problem 179を解いて、ふるいを使えば効率よくΦ関数が計算できることに気がついた。 手続き型のほうが書きやすそうなのでjavaで。 public …
http://projecteuler.net/index.php?section=problems&id=179 たいていの場合、素因数分解は重い。 エラトステネスのふるいとDPを組み合わせたようなアルゴリズム。 単純な繰り返しでかける。Cのコード。 #include <stdio.h> #define LIM 10000001 #define SQR 3163 i</stdio.h>…
http://projecteuler.net/index.php?section=problems&id=178 状態で考えると状態は今までの最小数字、最大数字、最後の数字で表現できる。 状態数は高々10^3。 import Data.Map (Map,unionWith,filterWithKey,mapKeysWith,fold,fromList) type State = (Int…