<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<div class="PlainText">Não sabia desses detalhes, dica importante<br>
<br>
--- Mensagem Original ---<br>
<br>
De: "Leandro Cerencio" <cerencio@yahoo.com.br><br>
Enviado: 4 de janeiro de 2015 20:10<br>
Para: "Grupo Brasileiro de Usu&#225; rios de Haskell" <haskell-br@haskell.org><br>
Assunto: Re: [haskell-br] HackerRank<br>
<br>
</div>
<div>
<div style="color:#000; background-color:#fff; font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size:14px">
<div dir="ltr" id="x_yui_3_16_0_1_1420408885259_5694"><span>E ai galera,</span></div>
<div id="x_yui_3_16_0_1_1420408885259_5982" dir="ltr"><br>
<span></span></div>
<div id="x_yui_3_16_0_1_1420408885259_5984" dir="ltr"><span id="x_yui_3_16_0_1_1420408885259_5983">eu já resolvi alguns problemas no Hacker Rank. Achei muito bom para aprender novas linguagens. Completei alguns desafios em C++11, Haskell e Scala. Utilizei Haskell
 na parte de algoritmos e de fp. Somente prestem atenção no ambiente disponível:</span></div>
<div id="x_yui_3_16_0_1_1420408885259_5985" dir="ltr"><br>
<span id="x_yui_3_16_0_1_1420408885259_5983"></span></div>
<div id="x_yui_3_16_0_1_1420408885259_7406" dir="ltr"><span id="x_yui_3_16_0_1_1420408885259_5983">Haskell Platform 2013.2</span></div>
<div id="x_yui_3_16_0_1_1420408885259_7029" dir="ltr"><span id="x_yui_3_16_0_1_1420408885259_5983">Time limit: 5s (tempo para execução do programa)</span></div>
<div id="x_yui_3_16_0_1_1420408885259_7030" dir="ltr"><span id="x_yui_3_16_0_1_1420408885259_5983">Memory limit: 512 Mb (tamanho máximo de memória)</span></div>
<div id="x_yui_3_16_0_1_1420408885259_7031" dir="ltr"><span class="" id="x_yui_3_16_0_1_1420408885259_5983" style="">Libraries provided:
</span>logict lens pipes mwc-random hashtables regex-pcre hmatrix aeson and hashmap libraries are available.
</div>
<div id="x_yui_3_16_0_1_1420408885259_7848"><a id="x_yui_3_16_0_1_1420408885259_7434" href="https://www.hackerrank.com/environment">https://www.hackerrank.com/environment</a>
</div>
<div><br>
</div>
<div dir="ltr" id="x_yui_3_16_0_1_1420408885259_7849"><br>
twitter: lemoce</div>
<div id="x_yui_3_16_0_1_1420408885259_7852" dir="ltr">leandro.cerencio at gmail.com</div>
<div id="x_yui_3_16_0_1_1420408885259_7851" dir="ltr">cerencio at yahoo.com.br</div>
<div id="x_yui_3_16_0_1_1420408885259_7850" dir="ltr"><br>
</div>
<div class="x_qtdSeparateBR"><br>
<br>
</div>
<div class="x_yahoo_quoted" style="display:block">
<div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size:14px">
<div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size:16px">
<div dir="ltr"><font face="Arial" size="2">Em Domingo, 4 de Janeiro de 2015 17:42, Jean Lopes <hawu.bnu@gmail.com> escreveu:<br>
</font></div>
<br>
<br>
<div class="x_y_msg_container">
<div id="x_yiv9040434565">
<div dir="ltr">
<div>problema: <a href="" class="x_removed-link" rel="nofollow" target="_blank">https://www.hackerrank.com/challenges/find-digits</a></div>
<div>import Data.Char<br>
</div>
<div>import Control.Monad</div>
<div><br>
</div>
<div>intDigits :: Integer -> [Int]</div>
<div>intDigits n = map (\x -> read [x] :: Int) (show n)</div>
<div><br>
</div>
<div>charDigits :: [Int] -> [Char]</div>
<div>charDigits = map (\x -> intToDigit x)</div>
<div><br>
</div>
<div>digits :: Integer -> [Char]</div>
<div>digits = charDigits . intDigits</div>
<div><br>
</div>
<div>divide :: Integer -> Char -> Bool</div>
<div>divide _ '0' = False</div>
<div>divide n c = isMultiple</div>
<div>    where digit = toInteger $ digitToInt c</div>
<div>          nModDigit = n `mod` digit</div>
<div>          isMultiple = nModDigit == 0</div>
<div>              </div>
<div>findDigit :: Integer -> Int</div>
<div>findDigit n = foldl (\a b -> a + (if div b then 1 else 0)) 0 list</div>
<div>    where div = divide n</div>
<div>          list = digits n         </div>
<div><br>
</div>
<div>getStrings :: Integer -> [IO String]</div>
<div>getStrings n </div>
<div>    | n <= 0 = []</div>
<div>    | otherwise = getLine : getStrings (n - 1)</div>
<div>    </div>
<div>getIntegers :: [String] -> [Integer]</div>
<div>getIntegers [] = []</div>
<div>getIntegers (x:xs) = readInteger x : getIntegers xs</div>
<div><br>
</div>
<div>readInteger :: String -> Integer</div>
<div>readInteger = read</div>
<div><br>
</div>
<div>main = do    </div>
<div>    qtd <- getLine</div>
<div>    valStr <- sequence $ getStrings (readInteger qtd)    </div>
<div>    let valores = getIntegers valStr</div>
<div>        digitsFound = map (findDigit) valores    </div>
<div>    mapM (print) digitsFound                 </div>
<div><br>
</div>
</div>
<div class="x_yiv9040434565gmail_extra"><br>
<div class="x_yiv9040434565gmail_quote">Em 4 de janeiro de 2015 17:41, Jean Lopes
<span dir="ltr"><<a href="" class="x_removed-link" rel="nofollow" target="_blank">hawu.bnu@gmail.com</a>></span> escreveu:<br>
<blockquote class="x_yiv9040434565gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div dir="ltr">Legal esse site, finalmente consegui resolver o primeiro de lógica em Haskell! 
<div>tive bastante trabalho com a parte de IO (não sabia nada ainda, agora sei quase nada kk)</div>
<div>tive que pesquisar também sobre como transformar um número em string.. pelo que vi da pra melhorar bastante ainda! alguem tem dicas ?? segue o código</div>
</div>
<div class="x_yiv9040434565gmail_extra"><br>
<div class="x_yiv9040434565gmail_quote">Em 29 de dezembro de 2014 21:14, Luis Fernando Milano Oliveira
<span dir="ltr"><<a href="" class="x_removed-link" rel="nofollow" target="_blank">luismilanooliveira@gmail.com</a>></span> escreveu:
<div>
<div class="x_yiv9040434565h5"><br>
<blockquote class="x_yiv9040434565gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div dir="ltr">
<div>
<div>Legal, Sérgio!<br>
</div>
Eu não conhecia não, valeu pela dica!<br>
<br>
</div>
[ ] s<br>
</div>
<div class="x_yiv9040434565gmail_extra"><br>
<div class="x_yiv9040434565gmail_quote">Em 29 de dezembro de 2014 18:19, Sergio costa
<span dir="ltr"><<a href="" class="x_removed-link" rel="nofollow" target="_blank">skosta@gmail.com</a>></span> escreveu:
<div>
<div><br>
<blockquote class="x_yiv9040434565gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div dir="ltr">sim, por isso achei legal :) quase não passava em estrutura de dados, rs...
<div class="x_yiv9040434565gmail_extra"><br>
<div class="x_yiv9040434565gmail_quote">Em 29 de dezembro de 2014 17:02, Rafael Barros Félix
<span dir="ltr"><<a href="" class="x_removed-link" rel="nofollow" target="_blank">rafaelbfs1@gmail.com</a>></span> escreveu:
<div>
<div><br>
<blockquote class="x_yiv9040434565gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div dir="ltr">sim
<div>um entrevistador da Inglaterra até me mandou tarefas desse site. E eu descobri que eu sei bem menos do haskell do que eu achava</div>
</div>
<div class="x_yiv9040434565gmail_extra"><br>
<div class="x_yiv9040434565gmail_quote">Em 29 de dezembro de 2014 16:26, Sergio costa
<span dir="ltr"><<a href="" class="x_removed-link" rel="nofollow" target="_blank">skosta@gmail.com</a>></span> escreveu:<br>
<blockquote class="x_yiv9040434565gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div>
<div>
<div dir="ltr">
<div>Prezados</div>
<div><br>
</div>
<div>Conhecem este site ? Tem diversos desafios em programação funcional.</div>
<div><br>
</div>
<a href="" class="x_removed-link" rel="nofollow" target="_blank">https://www.hackerrank.com/</a><br clear="all">
<div><br>
</div>
<div>abs</div>
<span><font color="#888888">-- <br>
<div>Prof. Sérgio Souza Costa
<div><a href="" class="x_removed-link" rel="nofollow" target="_blank">https://sites.google.com/site/skosta/</a><br>
</div>
</div>
</font></span></div>
<br>
</div>
</div>
_______________________________________________<br>
haskell-br mailing list<br>
<a href="" class="x_removed-link" rel="nofollow" target="_blank">haskell-br@haskell.org</a><br>
<a href="" class="x_removed-link" rel="nofollow" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-br</a><br>
<br>
</blockquote>
</div>
<br>
</div>
<br>
_______________________________________________<br>
haskell-br mailing list<br>
<a href="" class="x_removed-link" rel="nofollow" target="_blank">haskell-br@haskell.org</a><br>
<a href="" class="x_removed-link" rel="nofollow" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-br</a><br>
<br>
</blockquote>
</div>
</div>
</div>
<div>
<div><br>
<br clear="all">
<div><br>
</div>
-- <br>
<div>Prof. Sérgio Souza Costa
<div><a href="" class="x_removed-link" rel="nofollow" target="_blank">https://sites.google.com/site/skosta/</a><br>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
_______________________________________________<br>
haskell-br mailing list<br>
<a href="" class="x_removed-link" rel="nofollow" target="_blank">haskell-br@haskell.org</a><br>
<a href="" class="x_removed-link" rel="nofollow" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-br</a><br>
<br>
</blockquote>
</div>
</div>
</div>
<br>
</div>
<br>
_______________________________________________<br>
haskell-br mailing list<br>
<a href="" class="x_removed-link" rel="nofollow" target="_blank">haskell-br@haskell.org</a><br>
<a href="" class="x_removed-link" rel="nofollow" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-br</a><br>
<br>
</blockquote>
</div>
</div>
</div>
<br>
</div>
</blockquote>
</div>
<br>
</div>
</div>
<br>
_______________________________________________<br>
haskell-br mailing list<br>
<a href="" class="x_removed-link">haskell-br@haskell.org</a><br>
<a href="" class="x_removed-link" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-br</a><br>
<br>
<br>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>