Comment detail

LL Golf Hole 7 - バイト数を読みやすくする (Nested Flatten)
全部作ってから判断すると言う素直(富豪?)な実装。
1
2
3
4
5
6
toMan n = snd $ head $ reverse $ filter (\(x,y) -> n>x)
        $ map (\(x,y) -> (10**x, (show (n / (10**x))) ++ y))
        $ zip [0,3.0..] ["","k","M","G","T","P","E","Z","Y"]

main = do
    putStrLn $ toMan 1234567890123456789012345678901
もうちょっと短くなりますね。
1
2
3
toMan n = snd $ last $ filter (\x -> n>fst x)
        $ map (\(x,y) -> (10^x,(show $ n/10^x) ++ [y]))
        $ zip [0,3..] " kMGTPEZY"
バイト数との事なので。。。
スペースと改行を詰めて101Byte
1
2
3
toMan n = snd $ last $ filter (\x -> n>fst x)
    $ map (\(x,y) -> (1024^x,(show $ n/1024^x) ++ [y]))
    $ zip [0,1..] " kMGTPEZY"
内包表現を使用して空白を詰めると73Byte
1
toMan n = last [(show $ n/1024^x) ++ [y] | (x,y) <- zip [0,1..] " kMGTPEZY", n>=1024^x]

Index

Feed

Other

Link

Pathtraq

loading...