FPについて学び直しメモ - 🍥shuma_yoshiokaに引き続き、プログラミング学び直し日記。「蟻本」こと「プログラミングコンテストチャレンジブック 第2版」を読みながら、問題をHaskellで解いてゆく試み。
![プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える? プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?](https://images-fe.ssl-images-amazon.com/images/I/41bHxtpurqL._SL160_.jpg)
プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?
- 作者: 秋葉拓哉,岩田陽一,北川宜稔
- 出版社/メーカー: マイナビ
- 発売日: 2012/01/28
- メディア: 単行本(ソフトカバー)
- 購入: 25人 クリック: 473回
- この商品を含むブログ (35件) を見る
21ページより「三角形」の問題。類似問題はこちら。
f1 (x:xs) = maximum [(f2 x xs), (f1 xs)] f1 [] = 0 f2 x (y:ys) = maximum [(f3 x y ys), (f2 x ys)] f2 _ [] = 0 f3 x y (z:zs) = maximum [(f4 (maximum [x, y, z]) (x + y + z)), (f3 x y zs)] f3 _ _ [] = 0 f4 max len = if (len - max) > max then len else 0 main :: IO () main = do _ <- (readLn :: IO Int) -- n as <- (map read . words) <$> getLine :: IO [Int] print $ f1 as
ほぼ初めてということもあり、ループを使わず再帰脳づくりするのにかなり時間掛かった