Le problème 30, sous ses faux airs, n'est pas si compliqué que ça.D'ailleurs, la solution est assez triviale :

[gist https://gist.github.com/829095]

Il faut d'abord disposer des puissances cinquièmes (histoire de ne pas les recalculer à chaque fois), puis penser à trouver une borne suffisamment grande. J'ai pris 1000000, mais c'est un pur hasard.J'ai aussi essayé d'utiliser GPars pour optimiser un peu le temps de calcul, mais je dois bien reconnaître que ça n'a rien donné. D'ailleurs, si quelqu'un peut m'expliquer pourquoi mon code est aussi lent avec GPars que sans, je suis preneur (et oui, j'ai un double-coeur, donc théoriquement le temps de calcul de cette partie - la plus coûteuse - devrait être divisé par deux).Je voulais aussi utiliser Perf4J (d'après la suggestion de Guillaume Laforge dans les castcodeurs), mais comme je n'ai trouvé aucun article n'expliquant comment l'intégrer dans mes scripts Groovy, j'ai préféré m'en passer.