2008-12-01から1ヶ月間の記事一覧

Project Euler (Problem ID 21..25)

ID21から25まで。 ID22は文字列解析が難しかった。 ID23では、初めて配列を使ってみた。 配列を使った理由は、abundant numberの和として表せるかの判定を高速化するため。 実行時間を計測したところ、abdsの計算に25秒、sumOfAbdsの計算に3秒を費やし、合計…

Project Euler (Problem ID 16..20)

ID16から20まで。 ID17でfourteenの綴りを間違えてforteenにしてしまい、悩んだ。 ID18の問題文のNOTEに、「この問題はbrute forceでも解けるけど、ID67は賢くやらないと解けないよ」と書いてあったので、今回はとりあえずbrute forceで解いてみた。 ID19で…

Project Euler (Problem ID 11..15)

ID 11から15まで。関数primes、factorとprimeFactorsは、ID 3の使い回し。 ID 11のコードをうまく書けず、汚くなってしまった… ID 12では、素因数分解してから、また積をとっているのが良くない気がする。 素因数分解したときの指数だけ見れば良いのかな? ID…

Project Euler (Problem ID 6..10)

ID 8が難しかった… ID 9は、ストレートに書くとスピードが足りなかったので、コードをいじっているうちに、なんだかごちゃごちゃした感じに。 問題固有のサブ関数は、whereで束ねた方が良いのかなぁ? ID 6..10 import List prog006 = sqrOfSum - sumOfSqr wh…

Project Eulerを始めてみた

Project Eulerを始めてみました。 Haskellの練習を兼ねています。 (むしろ、そちらが主目的かも) とりあえず、Problems ID 1..5をクリア。 どこまでいけるやら。 ID 1 import List uniq (x:[]) = [x] uniq (x:xs) | x == head xs = uniq xs | otherwise = (x…