<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">Entao vou colocar no github mesmo porque nao to sabendo fazer os testes.<br>
<br>
Bruno Buss <bruno.buss@gmail.com> escreveu:<br>
<br>
</div>
<div>
<div dir="ltr">O seu teste 001_load.t ainda falha, basicamente porque ele tenta utilizar seu módulo como se fosse um objeto, tentando fazer um Math::Palindrome->new().
<div><br>
</div>
<div>Assim, esse teste é criado automaticamente para você... e se seu módulo não for utilizado como um objeto, você pode remove-lo :-)</div>
<div><br>
</div>
<div>Yay, moar tests! \o/</div>
<div><br>
</div>
<div>Algumas sugestões sobre os testes:</div>
<div>* Quebre seus testes em arquivos diferentes, cada um testando uma função ou uma funcionalidade específica do seu módulo.</div>
<div><br>
</div>
<div>* Talvez seja interessante fazer testes muito grandes, como o que seu que loopa nos 1os 100k palindromos, sejam marcados como testes para rodar somente no seu ambiente (de autor)... pois eles parecem mais smoke tests do que testes unitários de fato.<br>
</div>
<div><br>
</div>
<div>Além disso, sobre esse seu teste do loop... ele está testando que o next_palindrome() de fato gera um palindromo, mas não testa se ele de fato gera o *proximo* palíndromo para todos aqueles casos. Como você faria para testar isso? :-)</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>Mais duas sugestões sobre o processo de desenvolvimento at all:</div>
<div>* Considere colocar o seu código num repositório onde outras pessoas podem contribuir, tanto na parte de código quanto de documentação, tipo o Github.</div>
<div><br>
</div>
<div>* Experimente gerenciar seus modulos/dists com o Dist::Zilla... sua vida provavelmente será bem mais feliz :P <a href="https://metacpan.org/pod/Dist::Zilla">https://metacpan.org/pod/Dist::Zilla</a></div>
<div><br>
</div>
<div>Nice job! :-)</div>
<div><br>
</div>
<div>[ ]'s</div>
<div><br>
</div>
<div><br>
</div>
</div>
<div class="x_gmail_extra"><br>
<br>
<div class="x_gmail_quote">2014-05-04 21:48 GMT-03:00 Aureliano Guedes <span dir="ltr">
<<a href="mailto:guedes_1000@hotmail.com" target="_blank">guedes_1000@hotmail.com</a>></span>:<br>
<blockquote class="x_gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div>
<div dir="ltr">Acabei de subir para o CPAN a versão 0.02 daquele módulo.
<div><a href="https://metacpan.org/pod/Math::Palindrome" target="_blank">https://metacpan.org/pod/Math::Palindrome</a></div>
<div><br>
</div>
<div>Mas agora que acabei de ver seu e-mail.</div>
<div><br>
</div>
<div>Algumas modificações já irei fazer para subir a versão 0.03.</div>
<div><br>
</div>
<div>Se você tentar instalar depois me fala se deu certo?</div>
<div><br>
<br>
<div>
<hr>
From: <a href="mailto:bruno.buss@gmail.com" target="_blank">bruno.buss@gmail.com</a><br>
Date: Sat, 3 May 2014 18:57:58 -0300
<div>
<div class="x_h5"><br>
To: <a href="mailto:rio-pm@pm.org" target="_blank">rio-pm@pm.org</a><br>
Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo<br>
<br>
<div dir="ltr">Sobre o lance do next_palindrome antes do loop:
<div><br>
</div>
<div>
<div>Mas com isso você quebrou o caso onde o valor inicial já é um palindromo primo... ou seja, não ta certo :P</div>
<div><br>
</div>
<div>Você não consegue fazer uma condição do loop melhor, tal que ela verifique as duas condições e só pare quando o número for um primo palindromo sempre, desde a 1a verificação? ;)</div>
</div>
<div><br>
</div>
<div>Sobre a explicação do modulo:</div>
<div><br>
</div>
<div>Opa, muito bom! Seems good to me :-)</div>
<div>Só acho que você precisa tratar todos os casos onde $n =~ m/^9+$/, porque só o 99 e 999 não bastam (mas foi legal que você já tinha percebido o problema deles :-)</div>
<div><br>
</div>
<div>Tratar eles é bem fácil eu acho:</div>
<div>if($n =~ m/^9+$/){</div>
<div>  $r = '1' . (0 x ((length $n) - 1)) . '1';</div>
<div>}</div>
<div><br>
</div>
<div>Seems legit?</div>
<div><br>
</div>
<div>Por fim, seria legal voce escrever tudo isso na documentação do seu módulo, pois provavelmente vai ajudar quem estiver escolhendo um para usar :-)</div>
<div><br>
</div>
<div>Acho que já estou convencido que sua next_palindrome está ok (tirando esse problema aí de cima dos números com todos os dígitos 9). Agora só precisamos melhorar o loop principal do seu programa. Lembre-se do que você quer (um primo palindromo) e do que
 você realmente precisa dentro desse seu loop. Tente construir uma invariante das iterações do loop, o que você pode garantir a cada passada do loop?</div>
<div><br>
</div>
</div>
<div><br>
<br>
<div>2014-05-03 11:27 GMT-03:00 Aureliano Guedes <span dir="ltr"><<a href="mailto:guedes_1000@hotmail.com" target="_blank">guedes_1000@hotmail.com</a>></span>:<br>
<blockquote style="border-left:1px #ccc solid; padding-left:1ex">
<div>
<div dir="ltr">Então, esse problema já é do loop principal e não do módulo. 
<div>Porque eu faço: </div>
<div>
<ol style="padding-right:0px; padding-left:48px; color:rgb(172,172,172); font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif; font-size:12px; line-height:21px; background-color:rgb(248,248,248)">
<li>
<div style="padding:0px 5px; vertical-align:top; color:rgb(0,0,0); border-left-width:1px; border-left-style:solid; border-left-color:rgb(204,204,204); background-color:rgb(255,255,255)">
<span style="color:rgb(0,0,255)">$time</span> <span style="color:rgb(51,153,51)">=</span> next_palindrome<span style="color:rgb(0,153,0)">(</span><span style="color:rgb(0,0,255)">$time</span><span style="color:rgb(0,153,0)">)</span><span style="color:rgb(51,153,51)">;</span></div>
</li></ol>
</div>
<div>Antes do loop principal.</div>
<div>acho que pode ser corrigido fazendo:</div>
<div>
<ol style="padding-right:0px; padding-left:48px; color:rgb(172,172,172); font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif; font-size:12px; line-height:21px; background-color:rgb(248,248,248)">
<li>
<div style="padding:0px 5px; vertical-align:top; color:rgb(0,0,0); border-left-width:1px; border-left-style:solid; border-left-color:rgb(204,204,204); background-color:rgb(255,255,255)">
<span style="color:rgb(0,0,255)">$time</span> <span style="color:rgb(51,153,51)">=</span> next_palindrome<span style="color:rgb(0,153,0)">(</span><span style="color:rgb(0,0,255)">$time</span><span style="color:rgb(0,153,0)">) if (!is_palindrome($time))</span><span style="color:rgb(51,153,51)">;</span></div>
</li></ol>
</div>
<div><br>
</div>
<div>Fiz isso para evitar que um time() primo finalize o loop mesmo sem ele começar, já que o loop inicia assim:</div>
<div><span style="font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif; font-size:12px; line-height:21px; background-color:rgb(255,255,255)">    </span><span style="color:rgb(177,177,0); font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif; font-size:12px; line-height:21px">while</span><span style="color:rgb(0,153,0); font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif; font-size:12px; line-height:21px">(</span><span style="color:rgb(51,153,51); font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif; font-size:12px; line-height:21px">!</span><span style="font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif; font-size:12px; line-height:21px; background-color:rgb(255,255,255)">is_prime</span><span style="color:rgb(0,153,0); font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif; font-size:12px; line-height:21px">(</span><span style="color:rgb(0,0,255); font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif; font-size:12px; line-height:21px">$time</span><span style="color:rgb(0,153,0); font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif; font-size:12px; line-height:21px">)</span><span style="color:rgb(0,153,0); font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif; font-size:12px; line-height:21px">)</span></div>
<div><br>
</div>
<div>Agora quanto ao módulo em sí, a logica usada é a seguinte:</div>
<div>- Um número palíndromo é obrigatoriamente igual a ele mesmo se lido de traz para frente, então</div>
<div>- Se dividirmos pela metade os dígitos de um numero palíndromo de número de dígitos maior ou igual a 2 então a primeira metade é obrigatoriamente igual a segunda lida de traz para frente. Isso me leva as seguintes conclusões:</div>
<div><br>
</div>
<div>1- Se o reverso da segunda parte é menor que a primeira parte </div>
<div><span style="font-size:12pt"># 8652 -> 86 > 25</span></div>
<div><span style="font-size:12pt">logo  o próximo palíndromo é obrigatoriamente a primeira parte concatenada com o reverso dela mesma</span></div>
<div><span style="font-size:12pt"># 86 . (reverse 86)</span></div>
<div><span style="font-size:12pt">Isso se torna verdadeiro porque no caso usado para exemplo '8668' a segunda parte é o '68' que tem seu reverso '86' que é igual a primeira parte.</span></div>
<div><br>
</div>
<div>2- Se se o reverso da segunda parte é maior ou igual a primeira parte</div>
<div># 8668 -> 86 == 86 # ou # 8669 -> 86 < 96</div>
<div>logo o próximo palíndromo é obrigatoriamente a primeira parte incrementada concatenada com seu reverso</div>
<div># 8668 -> 86 +1 -> 87 . 78 -> 8778</div>
<div><br>
</div>
<div>Então minha heurística foi aplicada em cima de uma lógica matemática, o que apesar do módulo não vir com os testes, em meus testes ao final do desenvolvimento ele fez corretamente todas as respostas. </div>
<div>Inclusive estou fazendo algumas correções para subir estas correções.</div>
<div>Eu não sei fazer direito aqueles testes, mas enviarei com os testes na próxima.</div>
<div><br>
</div>
<div>Quanto ao Math::NumSeq::Palindromes, acho que poderia ser melhor de usar, mais direto, no meu você pode imprimir o próximo palindromo fazendo apenas 'say next_palindrome($n);'.</div>
<div><br>
</div>
<div>
<div>
<hr>
From: <a href="mailto:bruno.buss@gmail.com" target="_blank">bruno.buss@gmail.com</a><br>
Date: Sat, 3 May 2014 10:01:11 -0300
<div>
<div><br>
To: <a href="mailto:rio-pm@pm.org" target="_blank">rio-pm@pm.org</a><br>
Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo<br>
<br>
<div dir="ltr">Então, eu não consigo instalar seu modulo no meu sistema, mas supondo que ele esteja correto, principalmente que a função "next_palindrome" retorne exatamente o próximo palindromo maior ou igual ao número...<br>
<br>
Para esse seu programa:
<div>(1) Entrada: 9. Saída esperada: 9. Saída atual: 11.</div>
<div><br>
</div>
<div>(2) Entrada: 191. Saída esperada: 191. Saída atual: Alguma coisa que não é 191 e fiquei com preguiça de terminar o chinês.</div>
<div><br>
</div>
<div>(3) Entrada: 666. Saída esperada: 727. Saída atual: Alguma coisa que não é 727 e fiquei com preguiça de terminar o chinês. Mas logo depois da 1a iteração do while... o $time foi bumpado para 796 - por causa do if((reverse $time) % 2 == 0) - e já passou
 do 727 e nunca vai voltar para ele....</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>japa++ pela consideração entre as duas versões do reverse reverse $time. Eu ainda acho que esse trecho ta errado destrói qualquer tentativa de construir uma invariante no algoritmo.</div>
</div>
<div><br>
<br>
<div>2014-05-01 22:27 GMT-03:00 Aureliano Guedes <span dir="ltr"><<a href="mailto:guedes_1000@hotmail.com" target="_blank">guedes_1000@hotmail.com</a>></span>:<br>
<blockquote style="border-left:1px #ccc solid; padding-left:1ex">
<div>
<div dir="ltr">E pronto minha solução sem os bugs que falou: <a href="http://pastebin.com/PQQyg5BK" target="_blank">http://pastebin.com/PQQyg5BK</a>
<div><br>
</div>
<div>Engraçado: teve o melhor desempenho.</div>
<div>Um simples detalhe reduziu o tempo de execução pela metade.</div>
<div><br>
</div>
<div>Fazer:</div>
<div>
<div><span style="white-space:pre-wrap"></span>$time = reverse $time;</div>
<div><span style="white-space:pre-wrap"></span>$time++;</div>
<div><span style="white-space:pre-wrap"></span>$time = reverse $time;</div>
<div><br>
</div>
<div>gera um desempenho melhor que fazer:</div>
<div><br>
</div>
<div>
<div><span style="white-space:pre-wrap"></span>$time = reverse (reverse $time++);</div>
</div>
<div>
<div>
<hr>
From: <a href="mailto:guedes_1000@hotmail.com" target="_blank">guedes_1000@hotmail.com</a><br>
To: <a href="mailto:rio-pm@pm.org" target="_blank">rio-pm@pm.org</a><br>
</div>
Date: Fri, 2 May 2014 00:04:04 +0000
<div>
<div><br>
Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo<br>
<br>
<div dir="ltr">Bruno, resolvi o problema e segui a sua dica: <a href="http://cpansearch.perl.org/src/ACPGUEDES/Math-Palindrome-undef/lib/Math/Palindrome.pm" target="_blank">http://cpansearch.perl.org/src/ACPGUEDES/Math-Palindrome-undef/lib/Math/Palindrome.pm</a>
<div><br>
</div>
<div>O <a href="http://search.cpan.org/~kryde/Math-NumSeq-70/lib/Math/NumSeq/Palindromes.pm" target="_blank">http://search.cpan.org/~kryde/Math-NumSeq-70/lib/Math/NumSeq/Palindromes.pm</a> era muito incompleto!<br>
<br>
<div>
<hr>
From: <a href="mailto:bruno.buss@gmail.com" target="_blank">bruno.buss@gmail.com</a><br>
Date: Mon, 28 Apr 2014 21:24:50 -0300<br>
To: <a href="mailto:rio-pm@pm.org" target="_blank">rio-pm@pm.org</a><br>
Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo<br>
<br>
<div dir="ltr">O problema é que quando time() está entre 89 e 96, next_prime($time) retorna 97... e a palindrome(97) retorna 107 - se não errei o chines mental que acabei de fazer - ou seja, pulando um palíndromo primo, que seria a resposta correta. O mesmo
 problema de antes, sua heurística para tentar pular números na sequencia de primos/palíndromos ainda não está muito boa.
<div><br>
</div>
<div>Mais uma dica: Ao invés de usar aquela formula toda para pegar a 1a/2a metade dos dígitos do numero, porque você não usa a substr()? :-)</div>
</div>
<div><br>
<br>
<div>2014-04-27 20:49 GMT-03:00 Aureliano Guedes <span dir="ltr"><<a href="mailto:guedes_1000@hotmail.com" target="_blank">guedes_1000@hotmail.com</a>></span>:<br>
<blockquote style="border-left:1px #ccc solid; padding-left:1ex">
<div>
<div dir="ltr">Bruno,
<div><br>
</div>
<div>Tratei a maioria dos erros e ainda ganhei em desempenho.</div>
<div>O problema é que tem um bug que não consegui tratar.</div>
<div><br>
</div>
<div>Quando 89 <= time() <= 96 sempre retorna 131 e não 101, mas quando >89 ou <96 retorna corretamente 101.</div>
<div><br>
</div>
<div><a href="http://pastebin.com/3QVnbjbP" target="_blank">http://pastebin.com/3QVnbjbP</a><br>
<br>
<div>
<hr>
Date: Sun, 27 Apr 2014 14:00:02 -0300
<div>
<div><br>
From: <a href="mailto:guedes_1000@hotmail.com" target="_blank">guedes_1000@hotmail.com</a><br>
To: <a href="mailto:rio-pm@pm.org" target="_blank">rio-pm@pm.org</a><br>
Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo<br>
<br>
<div>Buss,<br>
Obrigado por analisar o código. <br>
Realmente eu fiz apenas alguns teste mas nao o suficiente para perceber esses bugs que me falou.<br>
Essa heurística foi apenas experimental.<br>
E ainda pode ser otimizada. <br>
Nao sou muito habilidoso quando se trata de achar esses tipos de erros.<br>
Por exemplo, se na rotina de geração de palíndromo eu verificasse se o palíndromo gerado e par já ganharia no desempenho mas nao resolveria os problemas que citou.<br>
Vou ver o que posso fazer para resolver esses bugs.<br>
 Obrigado pela análise.<br>
<br>
<br>
Bruno Buss <<a href="mailto:bruno.buss@gmail.com" target="_blank">bruno.buss@gmail.com</a>> escreveu:<br>
<br>
</div>
<div>
<div dir="ltr">Olá Aureliano,
<div><br>
</div>
<div>Muito bom seu esforço... mas eu acho que você deveria elaborar e rodar alguns testes unitários para o seu código. :-)</div>
<div><br>
</div>
<div><br>
</div>
<div>Por exemplo, o seu código anterior (com as subs _par e _impar), imprimia "101" se o time() fosse "102". A resposta correta seria "131". A sua "heurística geradora de palindromos" andou para trás nesse caso... me parece um erro de design do algoritmo.</div>
<div><br>
</div>
<div><br>
</div>
<div>Essa sua nova versão:</div>
<div>* Imprime "13" se o time() for "13"... e 13 nem é palindromo! O resultado correto nesse caso é "101". Mas isso é só um erro no seu loop principal, que se for primo direto no começo ele nem verifica se é palindromo mas já imprime direto.</div>
<div><br>
</div>
<div>* Imprime "1003001" se o time() for 96... o que me parece meio longe do resultado esperado, "101". Nesse caso, emho, o problema é a sua "heurística geradora de palindromos".</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>Ou seja, a eficiência do algoritmo é muito importante... mas sua corretude deve vir antes. (A menos é claro que estejamos falando de algoritmos aproximativos ou heurísticas para problemas intratáveis :-)</div>
<div><br>
</div>
<div>Nesse caso em específico, parece que essa sua função geradora de palindromos é de fato uma heurística para dar bumps na sequência e economizar verificações... mas como observado você corre o risco de pular algo que não deveria.</div>
<div><br>
</div>
<div>Só como dúvida, essa sua heurística é fundamentada em algum resultado matemático de fato ou apenas experimental?</div>
<div><br>
</div>
<div><br>
</div>
<div>[ ]'s</div>
<div>Buss</div>
<div><br>
</div>
<div><br>
<br>
<div>2014-04-27 3:06 GMT-03:00 Aureliano Guedes <span dir="ltr"><<a href="mailto:guedes_1000@hotmail.com" target="_blank">guedes_1000@hotmail.com</a>></span>:<br>
<blockquote style="border-left:1px #ccc solid; padding-left:1ex">
<div>
<div dir="ltr">Esquece a ultima versão.
<div>Divisão é pesado para o processador. </div>
<div><br>
</div>
<div>Fiz uma versão menor com menos divisões que parece ter uma melhor performance.</div>
<div><br>
</div>
<div><a href="http://pastebin.com/jrjEv3eh" target="_blank">http://pastebin.com/jrjEv3eh</a><br>
<div><br>
</div>
<div>
<div>
<hr>
From: <a href="mailto:guedes_1000@hotmail.com" target="_blank">guedes_1000@hotmail.com</a><br>
To: <a href="mailto:rio-pm@pm.org" target="_blank">rio-pm@pm.org</a><br>
Date: Sun, 27 Apr 2014 02:44:57 +0000</div>
<div>
<div><br>
Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo<br>
<br>
<div dir="ltr">Então tenho essa versão que executou em 1s.
<div><br>
</div>
<div><a href="http://pastebin.com/DLdPwAkp" target="_blank">http://pastebin.com/DLdPwAkp</a><br>
<br>
<div>
<hr>
From: <a href="mailto:blabos@gmail.com" target="_blank">blabos@gmail.com</a><br>
Date: Sat, 26 Apr 2014 18:39:15 -0300<br>
To: <a href="mailto:rio-pm@pm.org" target="_blank">rio-pm@pm.org</a><br>
Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo<br>
<br>
<div dir="ltr">Vamos dar um desconto por causa do "primo".</div>
<div><br>
<br>
<div>2014-04-25 23:26 GMT-03:00 Junior Moraes <span dir="ltr"><<a href="mailto:juniiior182@gmail.com" target="_blank">juniiior182@gmail.com</a>></span>:<br>
<blockquote style="border-left:1px #ccc solid; padding-left:1ex">
<div dir="ltr">Hi.
<div><br>
</div>
<div>Se for válido usar módulos externos, dá pra implementar com o Math::Prime::XS para ficar mais performático. :-)</div>
<div><br>
</div>
<div>[]'s</div>
</div>
<div><br>
<br>
<div>Em 25 de abril de 2014 23:21, Aureliano Guedes <span dir="ltr"><<a href="mailto:guedes_1000@hotmail.com" target="_blank">guedes_1000@hotmail.com</a>></span> escreveu:
<div>
<div><br>
<blockquote style="border-left:1px #ccc solid; padding-left:1ex">
<div>
<div dir="ltr">Não fiz em poucas linhas, mas fis em poucos segundos: <a href="http://pastebin.com/DLdPwAkp" target="_blank">http://pastebin.com/DLdPwAkp</a><br>
<br>
<div>
<hr>
Date: Tue, 22 Apr 2014 15:09:22 -0300
<div>
<div><br>
From: <a href="mailto:guedes_1000@hotmail.com" target="_blank">guedes_1000@hotmail.com</a><br>
To: <a href="mailto:rio-pm@pm.org" target="_blank">rio-pm@pm.org</a><br>
Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo<br>
<br>
<div>Claro que esta. Mas nao consegui fazer o que o que o Bablos sugeriu em uma única linha.<br>
<br>
Vinícius Miasato <<a href="mailto:viniciusmiasato@gmail.com" target="_blank">viniciusmiasato@gmail.com</a>> escreveu:<br>
<br>
</div>
<div>
<div dir="ltr">
<div>
<div>Opa,<br>
<br>
</div>
parabéns por aceitar o desafio e levá-lo até o fim! Não sei se o código funciona, mas o jogo de GOLF ainda está de pé?<br>
<br>
</div>
atenciosamente,<br>
Vinícius Miasato<br>
</div>
<div><br>
<br>
<div>Em 22 de abril de 2014 13:13, Aureliano Guedes <span dir="ltr"><<a href="mailto:guedes_1000@hotmail.com" target="_blank">guedes_1000@hotmail.com</a>></span> escreveu:<br>
<blockquote style="border-left:1px #ccc solid; padding-left:1ex">
<div>
<div dir="ltr"><a href="http://ideone.com/LjvMRz" target="_blank">http://ideone.com/LjvMRz</a>
<div><br>
</div>
<div>4:30 rodando no dinossauro (AMD Athlon 1.6GHz, 2GB Ram)</div>
<div><br>
<div>
<div>
<hr>
Date: Thu, 17 Apr 2014 22:25:48 -0300<br>
From: <a href="mailto:guedes_1000@hotmail.com" target="_blank">guedes_1000@hotmail.com</a><br>
To: <a href="mailto:rio-pm@pm.org" target="_blank">rio-pm@pm.org</a><br>
Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo</div>
<div>
<div><br>
<br>
<div>Boa ideia. Vou tentar.<br>
<br>
Blabos de Blebe <<a href="mailto:blabos@gmail.com" target="_blank">blabos@gmail.com</a>> escreveu:<br>
<br>
</div>
<div>
<div dir="ltr">Que tal o menor palíndromo primo maior que time()?</div>
<div><br>
<br>
<div>2014-04-17 22:02 GMT-03:00 Aureliano Guedes <span dir="ltr"><<a href="mailto:guedes_1000@hotmail.com" target="_blank">guedes_1000@hotmail.com</a>></span>:<br>
<blockquote style="border-left:1px #ccc solid; padding-left:1ex">
<div>
<div>Pode ficar menor.<br>
say '906609'<br>
<br>
Tiago Peczenyj <<a href="mailto:tiago.peczenyj@gmail.com" target="_blank">tiago.peczenyj@gmail.com</a>> escreveu:<br>
<br>
</div>
<div>
<div>
<div>
<div dir="ltr">sub palindromo { <span style="font-family:arial,sans-serif; font-size:13px">906609 }</span></div>
<div><br>
<br>
<div>2014-04-17 21:45 GMT-03:00 Aureliano Guedes <span dir="ltr"><<a href="mailto:guedes_1000@hotmail.com" target="_blank">guedes_1000@hotmail.com</a>></span>:<br>
<blockquote style="border-left:1px #ccc solid; padding-left:1ex">
<div>
<div dir="ltr">Ola monges,
<div><br>
</div>
<div>Nos últimos meses tenho visto nosso grupo um pouco parado.</div>
<div>E como estamos em véspera de pascoa.</div>
<div>Proponho uma brincadeira.</div>
<div>Jogar golf com o Desafio do Maior Palíndromo.</div>
<div><br>
</div>
<div>O desafio é simples, achar o maior número palíndromo (ou seja, quando lido de trás pra frente continua o mesmo) que seja resultado de uma multiplicação de dois números de 3 dígitos.</div>
<div><br>
</div>
<div>O resultado deverá ser: 906609</div>
<div><br>
</div>
<div>Eis a minha tacada:</div>
<div><br>
</div>
<div>for(my$i=100;$i<1000;$i++){for(100..999){$_[0]=$_*$i if(($_*$i==reverse($_*$i))&&($_*$i>=$_[0]))}}say$_[0]</div>
</div>
</div>
<br>
_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
Tiago B. Peczenyj<br>
Linux User #405772<br>
<br>
<a href="http://about.me/peczenyj" target="_blank">http://about.me/peczenyj</a> </div>
</div>
</div>
</div>
</div>
<br>
_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
</blockquote>
</div>
<br>
</div>
</div>
<br>
_______________________________________________ Rio-pm mailing list <a href="mailto:Rio-pm@pm.org" target="_blank">
Rio-pm@pm.org</a> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">
http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
_______________________________________________ Rio-pm mailing list <a href="mailto:Rio-pm@pm.org" target="_blank">
Rio-pm@pm.org</a> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">
http://mail.pm.org/mailman/listinfo/rio-pm</a></div>
</div>
</div>
</div>
</div>
</div>
<br>
_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
</blockquote>
</div>
<br>
</div>
</div>
<br>
_______________________________________________ Rio-pm mailing list <a href="mailto:Rio-pm@pm.org" target="_blank">
Rio-pm@pm.org</a> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">
http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
_______________________________________________ Rio-pm mailing list <a href="mailto:Rio-pm@pm.org" target="_blank">
Rio-pm@pm.org</a> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">
http://mail.pm.org/mailman/listinfo/rio-pm</a></div>
</div>
</div>
</div>
</div>
<br>
_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
</blockquote>
</div>
</div>
</div>
<br>
</div>
<br>
_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
</blockquote>
</div>
<br>
</div>
<br>
_______________________________________________ Rio-pm mailing list <a href="mailto:Rio-pm@pm.org" target="_blank">
Rio-pm@pm.org</a> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">
http://mail.pm.org/mailman/listinfo/rio-pm</a></div>
</div>
</div>
<br>
_______________________________________________ Rio-pm mailing list <a href="mailto:Rio-pm@pm.org" target="_blank">
Rio-pm@pm.org</a> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">
http://mail.pm.org/mailman/listinfo/rio-pm</a></div>
</div>
</div>
</div>
</div>
</div>
<br>
_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
Bruno C. Buss<br>
<a href="http://www.brunobuss.net" target="_blank">http://www.brunobuss.net</a> </div>
</div>
</div>
<br>
_______________________________________________ Rio-pm mailing list <a href="mailto:Rio-pm@pm.org" target="_blank">
Rio-pm@pm.org</a> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">
http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
_______________________________________________ Rio-pm mailing list <a href="mailto:Rio-pm@pm.org" target="_blank">
Rio-pm@pm.org</a> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">
http://mail.pm.org/mailman/listinfo/rio-pm</a></div>
</div>
</div>
</div>
</div>
</div>
<br>
_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
Bruno C. Buss<br>
<a href="http://www.brunobuss.net" target="_blank">http://www.brunobuss.net</a> </div>
<br>
_______________________________________________ Rio-pm mailing list <a href="mailto:Rio-pm@pm.org" target="_blank">
Rio-pm@pm.org</a> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">
http://mail.pm.org/mailman/listinfo/rio-pm</a></div>
</div>
</div>
<br>
_______________________________________________ Rio-pm mailing list <a href="mailto:Rio-pm@pm.org" target="_blank">
Rio-pm@pm.org</a> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">
http://mail.pm.org/mailman/listinfo/rio-pm</a></div>
</div>
</div>
</div>
</div>
</div>
<br>
_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
Bruno C. Buss<br>
<a href="http://www.brunobuss.net" target="_blank">http://www.brunobuss.net</a> </div>
<br>
_______________________________________________ Rio-pm mailing list <a href="mailto:Rio-pm@pm.org" target="_blank">
Rio-pm@pm.org</a> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">
http://mail.pm.org/mailman/listinfo/rio-pm</a></div>
</div>
</div>
</div>
</div>
</div>
<br>
_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
Bruno C. Buss<br>
<a href="http://www.brunobuss.net" target="_blank">http://www.brunobuss.net</a> </div>
<br>
_______________________________________________ Rio-pm mailing list <a href="mailto:Rio-pm@pm.org" target="_blank">
Rio-pm@pm.org</a> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">
http://mail.pm.org/mailman/listinfo/rio-pm</a></div>
</div>
</div>
</div>
</div>
</div>
<br>
_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
Bruno C. Buss<br>
<a href="http://www.brunobuss.net" target="_blank">http://www.brunobuss.net</a> </div>
</div>
</body>
</html>