{"published":"2010-02-18 00:00:01","version":"1.0","height":"190","provider_url":"https://hatena.blog","author_name":"inamori","image_url":null,"url":"https://inamori.hateblo.jp/entry/20100218/p2","author_url":"https://blog.hatena.ne.jp/inamori/","title":"Project Euler 50,51","categories":["Haskell"],"width":"100%","blog_url":"https://inamori.hateblo.jp/","description":"Problem 50 http://projecteuler.net/index.php?section=problems&id=50 2\u304b\u3089\u59cb\u307e\u308b\u7cfb\u5217\u30013\u304b\u3089\u59cb\u307e\u308b\u7cfb\u5217\u3001\u3092\u30ea\u30b9\u30c8\u306b\u3057\u3066\u3001\u9577\u3044\u3082\u306e\u304b\u3089\u8abf\u3079\u3066\u3044\u304f\u3002\u9045\u3044\u3002 import Data.Array sieve a p | a!p == True = sieve (a // [ (m, False) | m <- b, a!m ]) (p + 1) | p * p > n = a | otherwise = sieve a (p + 1) where b = if p == 2 then [p*2,p*3..n] else [p*3,p*\u2026","provider_name":"Hatena Blog","type":"rich","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Finamori.hateblo.jp%2Fentry%2F20100218%2Fp2\" title=\"Project Euler 50,51 - inamori\u2019s diary\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","blog_title":"inamori\u2019s diary"}