чисел.
bar :: (Int, Int) -> Int
bar (a, b) = a' + b'
where a' = (sum . map digitToInt . show) a
b' = (sum . map digitToInt . show) b
foo :: (Int, Int) -> Int
foo (a, c) = helper a 0 + helper c 0
where helper :: Int -> Int -> Int
helper n acc | n < 10 = n + acc
| otherwise = let (x, y) = divMod n 10 in helper x (acc + y)
baz :: (Int, Int) -> Int
baz (a, b) = a'
where a' = (sum . map digitToInt ) (show a ++ show b)
вопрос: как я могу сравнить их производительность? Какие мне инструменты могут помочь? (:set +s делаю в ghci, но думаю может есть автоматические тесты какие-нибудь).
дай digitToInt еще
Обсуждают сегодня