2つの整数AとBが与えられます. A+Bを出力するプログラムを作って下さい. ただし,できるだけたくさん作って下さい.
-10^9 < A, B < 10^9
main=interact(\x->show$sum[1|'@'<-x]) |
import Control.Applicative ((<$>), (<*>), liftA2) | |
import Control.Monad (forM, replicateM) | |
import Data.Function (on) | |
main = do | |
x <- getLine | |
y <- getLine | |
print $ read x + read y | |
main = do |
import Data.Monoid | |
import Data.Ord (comparing) | |
import Control.Applicative | |
newtype Hom a m = Hom { ($$) :: a -> m } | |
instance Monoid m => Monoid (Hom a m) where | |
mempty = Hom (const mempty) | |
mappend (Hom f) (Hom g) = Hom $ mappend <$> f <*> g | |
-- mappend (Hom f) (Hom g) = Hom $ \x -> f x <> g x |
-- 以下の関数を実装して下さい | |
map' :: (a -> b) -> [a] -> [b] | |
map'' :: (a -> b) -> [a] -> [b] -- ただし1行で! | |
mapM_' :: (Monad m) => (a -> m ()) -> [a] -> m () | |
mapM' :: (Monad m) => (a -> m b) -> [a] -> m [b] |