elgio
(usa OpenSuSE)
Enviado em 07/08/2009 - 15:35h
Cloves e Matheus (lordmsmr)
Eu entendo e concordo com as ideias de voces, no entanto... (sempre tem um entanto)
O pior algoritmo para o desafio 1, mas que funcionasse e o PIOR hardware resolveriam todos os N em DUAS horas e usando apenas um Core.
Tenho uma versão tosca em python que eu executei antes para ter uma ideia. Levou 1:58.
E com um código eficiente 3 minutos!
Então, mesmo com o hardware melhor, o algoritmo do Dorst foi o melhor no Desafio 1 porque trabalhou com números maiores que 64 bits. Se ele não tivesse o hardware e rodasse no notebook dele, levaria mais tempo (2-3 horas) mas ganharia mesmo assim!
Mas o desafio 2 será sim diferente, prometo.
Neste todos sabiam o que fazer, todos sabiam que precisavam de um laço!
O desafio 2 exigirá realizar descobertas...
Contudo, mesmo assim, considero complicado avaliar a eficiência de um algoritmo, pois não tem lá muito mistério nesta quebra do N. É um for. Pronto! Tem alguns macetes que podem ser feitos, mas ninguém os fez. E este eu ainda guardo comigo (o que deu 3 mim).
Já escrevi um artigo sobre isto, mas estou deixando ele na gaveta!
Além do mais, o desafio cumpriu MUITO BEM o seu objetivo. A princípio parece fácil, não? Pois é, não é!