Goldbach
f :: Integral a => a -> a f n = sum $ map (check.(\a -> [a , n-a])) [2..div n 2] check :: Integral a => [a] -> a check ab = case all prime ab of True -> 1 False -> 0 prime :: Integral a => a -> Bool prime 1 = False prime 2 = True prime n = all ((/=0).(mod n)) [2..floor.sqrt $ fromIntegral n] main = getLine >>= print.f.read
入力された数に対して、
その数は、Goldbachを満たす組み合わせをいくつもつか出力。