summaryrefslogtreecommitdiff
path: root/haskell/p15.hs
diff options
context:
space:
mode:
authorGuillermo Ramos2013-05-27 10:31:48 +0200
committerGuillermo Ramos2013-05-27 10:31:48 +0200
commit317ee36636ebeec986971ef857cd297f0320e58d (patch)
tree88c10fdbf166beae22f6c9d6c79970ae2240f4b0 /haskell/p15.hs
downloadeuler-317ee36636ebeec986971ef857cd297f0320e58d.tar.gz
start
Diffstat (limited to 'haskell/p15.hs')
-rw-r--r--haskell/p15.hs16
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)