Resistance is futile !

Depuis deux jours, et après un bien long hiatus (et surtout suite à une discussion avec un collègue), j'ai replongé dans l'enfer de Project Euler. Un enfer, parce qu'il promet à mon cerveau assoiffé de récompenses la garantie de récompenses bien plus immédiates que celles que peut procurer le travail. En l'occurence, j'ai décidé de m'attaquer au problème 12. le problème 12, c'est le seul des 25 premiers qui me résiste. Et ça m'énerve.
Vous voulez savoir ce que ma dernière tentative (que je ne montrerai pas) a donné comme résultat ?

Oui, c'est décevant.
Surtout quand le programme a été lancé avec un JAVA_OPTS="-Xmx1200M" (la méthode recommandée pour changer la quantité de mémoire disponible dans du code Groovy).
Surtout quand je vois qu'ailleurs sur internet, d'autres ont trouvé la solution – en groovy – en moins d'une minute.
Surtout (enfin) quand je sais (toujours grâce à ce collègue) que la solution est 76576500. Et là, je ne ferais pas comme pour le Dropquest 2011, je n'irais pas aligner les réponses les unes derrière les autres.
Reprenons donc.
Le but est de trouver le premier nombre triangulaire ayant 500 diviseurs. Pour trouver ces diviseurs, je m'étais dit que la solution la plus simple était de décomposer le nombre en facteurs premiers. Seulement, pour ça, il me faut des gros paquets de nombres premiers, qui doivent être calculés dés le début. Donc, pas forcément une bonne idée.
Cela dit, je crois que je devrais réessayer la méthode initiale (qui consiste à faire de bêtes divisions par des nombres de 1 à racine de n) … en y ajoutant peut-être un peu de GPars pour rire … ou pas.
Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s