haskell

#007

Haskellの練習 main = do input <- getContents let c = head . head $ lines input s = last $ lines input putStrLn $ filter (/=c) s

#005のAをHaskell でといてみた

はじめ、'.'を取り除き忘れていて1WA t1 = "TAKAHASHIKUN" t2 = "Takahashikun" t3 = "takahashikun" main = do ns <- getLine str <- getLine let ws = removedot $ words str putStrLn . show $ foldr (\ cs acc -> if cs==t1 || cs==t2 || cs==t3 then ac…

ちょっと書いてみた

すごいH本にシーザー暗号がのっていたので、 もっと安全を期すため(?)に多表式暗号を作れるようにしました。 import Data.Char key = [1, 2, 3, 4, 5, 6] decode = code' (map (* (-1)) key) code = code' key code' ky = fst . foldr (\ c (str,n) -> (chr …

foldr

ちょっと書いてみた sum' = foldr (+) 0 map' f = foldr (\ x acc -> f x : acc) []

AOJ_0158 Collatz's Problem

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0158 ひさしぶりのHaskell たぶんlet式の意味を正確には把握していない main = do n <- getContents let vs = map (\cs -> (read cs :: Int)) $ words n putStr $ unlines $ map (\n -> show n) $…

Haskellで平方根

Haskellで2分探索をつかい入力された値の平方根を求めるプログラムを作ってみた。 EPSで精度を変えられる。 inf = 1000000000 eps = 0.0000001 main = getContents >>= putStrLn . show . root 0.0 inf . read root l h n = let ave = (l + h) / 2.0 in if (…

Haskellでフィボナッチ数列

haskellの練習のために、フィボナッチ数を計算するプログラムを作った。 nを入力すると第n番目のフィボナッチ数を返す。 O(n)で計算できるようにした。 モナドはあまり理解できていないが、かっこよさそうなので利用してみた。(>>=) f :: Int -> Int -> Int …

AOJ_0217 Walking on the Hospital

問題 略 解法 一番大きいのを選ぶだけ。 C++ と Haskell で書いてみた Haskellはまだ勉強中なので、もっといいやり方があったら誰か教えてください。 実装 c++ #include <cstdio> #include <algorithm> using namespace std; int main(){ int n, ans, d; while(scanf("%d", &n) </algorithm></cstdio>…

haskellやってみた

haskellという関数型言語の勉強を始めました。 まだよく分かっていませんが、おもしろい言語だとおもいます。 標準入力から数列を読み取りクイックソートするプログラムを書いてみました。 import Char main = do cs <- getContents putStrLn $ unwords $ ma…