2008-11-23から1日間の記事一覧

Problem 1

http://projecteuler.net/index.php?section=problems&id=1 --Haskell, 20090101 main = print $ sum $ [x | x<-[1..999], x`mod`3==0||x`mod`5==0]

Problem 2

http://projecteuler.net/index.php?section=problems&id=2 --Haskell, 20090104 import Sequence (fibonacci) main = print $ sum [x | x<-takeWhile (<=4000000) fibonacci, even x] 数列モジュールを使用.

Problem 3

http://projecteuler.net/index.php?section=problems&id=3 --Haskell, 20090101 divide :: Integer -> Integer -> Integer divide 1 n = n divide t n = if t`mod`n==0 then divide (t`div`n) n else divide t (n+1) main = print $ divide 600851475143 2

Problem 4

http://projecteuler.net/index.php?section=problems&id=4 --Haskell, 20090101 main = print $ maximum [x*y | x<-[100..999], y<-[100..999], x>=y, show (x*y)==(reverse.show) (x*y)]

Problem 5

http://projecteuler.net/index.php?section=problems&id=5 --Haskell, 20090101 main = print $ foldl1 lcm [1..20]

Problem 6

http://projecteuler.net/index.php?section=problems&id=6 --Haskell, 20090101 main = print $ (sum [1..100])^2 - sum [x^2 | x<-[1..100]]

Problem 7

http://projecteuler.net/index.php?section=problems&id=7 --Haskell, 20090104 import Prime (prime) main = print $ prime!!10000 素数モジュールを使用.

Problem 8

http://projecteuler.net/index.php?section=problems&id=8 --Haskell (Input data from STDIN), 20090101 import List (tails) import Char (digitToInt) main = getLine >>= print . maximum . map (product . map digitToInt . take 5) . tails

Problem 9

http://projecteuler.net/index.php?section=problems&id=9 --Haskell, 20090101 main = print $ head [x*y*(1000-x-y) | x<-[1..998], y<-[1..998], x

Problem 10

http://projecteuler.net/index.php?section=problems&id=10 --Haskell, 20090104 import Prime (prime) main = print $ foldl (\x y->x+toInteger y) 0 $ takeWhile (<=2000000) prime 素数モジュールを使用.