部分和問題
http://www.agusa.i.is.nagoya-u.ac.jp/person/mzp/hiki/?exercise#l22 から。普通。
import Data.List partial :: ([Int], Int) -> Bool partial ([], _) = False partial (xs, n) = let t = [(delete a xs, n-a) | a <- xs] in if any ((==0).snd) t then True else or $ map partial t