« 人のブログの間違いが気になって…… | トップページ | Project Euler : Problem 23 ~ 過剰数 »

2010年5月 8日 (土)

Project Euler : Problem 22

 問題はこちらをご覧ください。

 

 まずは、私の作ったコードから

import Data.List(sort) import Data.Char(ord) problem022 :: [String] -> Integer problem022 ns = sum $ zipWith (*) [1 ..] [nValue x | x <- sort ns] where nValue n = toInteger $ sum [ord x - ord 'A' + 1 | x <- n] main = do ss <- readFile "names.txt" print $ problem022 $ read ("[" ++ ss ++ "]")
 何のヒネリもないですね……。

 "nValue" は単純に名前のスコアを計算しているだけです。
 "main" アクションで "name.txt" を読み込んでいますが、結果は「文字列」として読み込まれるので、その結果の前後に "[" と "]" を付け加えて "read" 関数に与えてやると、「リスト」に変換してくれます。楽ちんですね。

« 人のブログの間違いが気になって…… | トップページ | Project Euler : Problem 23 ~ 過剰数 »

Haskell」カテゴリの記事

Project Euler」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/112020/48307930

この記事へのトラックバック一覧です: Project Euler : Problem 22:

« 人のブログの間違いが気になって…… | トップページ | Project Euler : Problem 23 ~ 過剰数 »

2016年7月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
フォト

最近のトラックバック

無料ブログはココログ