結果

問題 No.9001 標準入出力の練習問題(テスト用)
ユーザー らっしー(raccy)らっしー(raccy)
提出日時 2015-07-11 06:45:44
言語 Haskell
(9.8.2)
結果
AC  
実行時間 3 ms / 1,000 ms
コード長 1,390 bytes
コンパイル時間 12,479 ms
コンパイル使用メモリ 157,716 KB
実行使用メモリ 7,000 KB
最終ジャッジ日時 2023-09-22 10:54:02
合計ジャッジ時間 13,142 ms
ジャッジサーバーID
(参考情報)
judge14 / judge13
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 3 ms
6,816 KB
testcase_01 AC 3 ms
7,000 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
Loaded package environment from /home/judge/.ghc/x86_64-linux-9.6.1/environments/default
[1 of 2] Compiling Main             ( Main.hs, Main.o )
[2 of 2] Linking a.out

ソースコード

diff #

-- main、ここでIOモナドを完結させる。
main :: IO ()
-- do記法を使う。別に他の方法でもいいけど、読み込む物が多くなった場合は、
-- こっちの方がわかりやすいと思う。たぶん。
main = do
    -- ----
    -- 1行読み込んで、空白切りで配列に分割して、それぞれを数字に変換する。
    -- readで変換される型は、main'での型指定によって決まる。
    -- IO [a]
    ab <- map read . words <$> getLine
    -- ----
    -- 単純に1行をStringとして読み込む。末尾改行は含まれない。
    -- IO String
    s <- getLine
    -- ----
    -- その他に、1行に数字一つだけであれば下記のようにする。
    -- IO a
    -- n <- read <$> getLine
    -- ----
    -- 読み込んだ値を別関数に渡して、戻り値を出力する。
    -- 戻り値がIntの場合は、`print`を使う。
    -- 戻り値がFloatの場合は、`Text.Printf.printf`を使う必要がある。
    -- IO ()
    putStrLn $ main' ab s

-- 実際に問題を解く関数main'、実際の名前は何でもいい。
-- ここの型指定でmainでのreadが何に変換されるが決まる。
-- IOモナドは持ち込まずに純粋な関数だけの世界にすると書きやすいと思う。
main' :: [Int] -> String -> String
main' ab s = (show . sum) ab ++ " " ++ s
0