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

Project Euler: Problem21

いわゆる現実逃避である。 sumOfDivs x = sum $ filter (\y -> rem x y == 0) [1..(div x 2)] amicables = filter (\n -> let t = sumOfDivs n in n == sumOfDivs t && n /= t) [2..10000] main = print $ sum amicables

Project Euler: Problem47

決して暇なわけではない。 import Data.List prime = p [2..] where p (x:xs) = x : p (filter (\y -> rem y x /= 0) xs) factor n = f n prime where f 1 _ = [] f n (p:ps) | rem n p == 0 = p : f (div n p) (p:ps) | otherwise = f n ps finder 4 (x:_) …

デバッガ

情けないことに、デバッガってあんまり使ったことがない。使ったことがあるのは gdb くらいだけど、特に使い方を覚える努力をしなかったからまともに使えないし、そもそも C を書くことがなくなってしまったし。(昔プログラミング C# を読んだときに、Visual…

オープンソースカンファレンス2008 Nagoya

今日はオープンソースカンファレンス2008 Nagoya に参加してきた。といっても主に聞いたのは昼の Lightning Talk だけなんだけど。発表された id:yoshihiro503 さんと O さん、おつかれさまでした。それから、OSC 開催側の人、おつかれさまでした。(ここで言…

Project Euler: Problem124

Haskell だと "(1,2) import Data.List prime = p [2..] where p (x:xs) = x : p (filter (\y -> rem y x /= 0) xs) factor n = f n prime where f 1 _ = [] f n (p:ps) | rem n p == 0 = p : f (div n p) (p:ps) | otherwise = f n ps rad x = product $ nu…

ActionScript

ActionScript の map 関数はなんと引数が3つ。その要素と、インデックスと、配列そのもの。 var x : Array = [1,2,3]; x.map(function(elem:*, idx:int, arr:Array) : Array { ... });

Project Euler: Problem5

素数列を作る関数は今までに何回書いたかわからん…。 import Data.List prime = p [2..] where p (x:xs) = x : p (filter (\y -> rem y x /= 0) xs) factor n = f n prime where f 1 _ = [] f n (p:ps) | rem n p == 0 = p : f (div n p) (p:ps) | otherwise…

Project Euler: Problem92

Scala の練習。 object Problem92 { def step(m : Int) : Int = { var result : Int = 0 var n : Int = m while ( n != 0 ) { result += (n % 10) * (n % 10) n /= 10 } return result } def loop(n: Int) : Boolean = { if ( n==1 ) return false else if (…

Project Euler: Problem92

力技でなんとかなる問題って気楽でいいわー。 import Data.Char step 1 = False step 89 = True step n = step $ sum $ map ((^2) . digitToInt) $ show n main = print $ length $ filter step [1..10000000] ./a.out 49.79s user 0.45s system 99% cpu 50.…

Project Euler: Problem45

なかなか時間がかかっている…。 triangle = [n*(n+1) `div` 2| n <- [1..]] pentagonal = [n*(3*n-1) `div` 2| n <- [1..]] hexagonal = [n*(2*n-1)| n <- [1..]] loop :: [Int] -> [Int] -> [Int] -> [Int] loop (x:xs) (y:ys) (z:zs) | x == y && y == z =…

Project Euler: Problem45

なんだか Haskell だとうまくいかないので Scala で。実際には eclipse プラグインに scala モードがあるのを知ってなんか書いてみたかっただけなんですが。Haskell 版をそのまま移植した説が濃厚。 イテレータを継承してみたりした。コンストラクタの書き方…