« Project Euler : Problem 27 ~ 関数をデータとして扱う | トップページ | Project Euler - Problem 29 »

2010年6月 3日 (木)

Project Euler : Problem 28

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

 

 辺の数と四隅の数を並べると次のようになります。

辺の数 : 四隅の数 3 : 3, 5, 7, 9 5 : 13, 17, 21, 25 7 : 31, 37, 43, 49
 よく見ると、四隅の数は「辺の数 - 1」を公差とする等差数列であることが分かります。(ちなみに初項は「前の等差数列の最後の数 + 公差」になっています)
 この関係が分かれば、後は簡単です。
problem028 :: Integer problem028 = sum $ foldl func [1] [side - 1 | side <- [3, 5 .. 1001]] where func ns d = ns ++ [last ns + x * d | x <- [1 .. 4]] main = print problem028

« Project Euler : Problem 27 ~ 関数をデータとして扱う | トップページ | Project Euler - Problem 29 »

Haskell」カテゴリの記事

Project Euler」カテゴリの記事

コメント

コメントを書く

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

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

トラックバック

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

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

« Project Euler : Problem 27 ~ 関数をデータとして扱う | トップページ | Project Euler - Problem 29 »

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            
フォト

最近のトラックバック

無料ブログはココログ