diff options
author | Guillermo Ramos | 2013-05-27 10:31:48 +0200 |
---|---|---|
committer | Guillermo Ramos | 2013-05-27 10:31:48 +0200 |
commit | 317ee36636ebeec986971ef857cd297f0320e58d (patch) | |
tree | 88c10fdbf166beae22f6c9d6c79970ae2240f4b0 /haskell/p15.hs | |
download | euler-317ee36636ebeec986971ef857cd297f0320e58d.tar.gz |
start
Diffstat (limited to 'haskell/p15.hs')
-rw-r--r-- | haskell/p15.hs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/haskell/p15.hs b/haskell/p15.hs new file mode 100644 index 0000000..41b93cf --- /dev/null +++ b/haskell/p15.hs @@ -0,0 +1,16 @@ +grid_bad 0 _ = 1 +grid_bad r c + | r == c = 2 * (grid_bad (r-1) c) + | otherwise = (grid_bad (r-1) c) + (grid_bad r (c-1)) + +grid 0 _ = 1 +grid 1 n = n + 1 +grid 2 n = sum [1..n] + n + 1 +grid r c + | r == c = 2 * (grid (r-1) c) + | otherwise = (grid (r-1) c) + (grid r (c-1)) + +p15 :: Int -> Int +p15 n = grid n n + +main = putStrLn $ "Solution: " ++ show (p15 20) |