Project Euler: n°323

Posted on Jan 3, 2015

J’ai récemment résolu le problème n°323 du projet Euler. Je sais, certains diront que je traîne un peu, le problème étant publié depuis bientôt 5 ans. Je vous rassure, je n’ai pas passé 5 ans à plancher dessus :-)

J’avais en fait rapidement une idée en tête quand je m’y suis mis il y a quelques jours, et je l’ai tout aussi rapidement codée en Go, mais ma réponse ne passait pas. Après avoir revu mes formules (un bon exercice, soit dit en passant), j’ai commencé à suspecter mon code, que j’ai débuggé brutalement à coups de fmt.Println() (peu subtil, mais efficace). Et j’ai donc réalisé que j’étais à nouveau tombé dans le piège de l’API du paquet big dont la plupart des fonctions renvoient une valeur (un pointeur, pour être exact) et modifient leur argument. Une API hautement non intuitive (et qui conduit à mon avis à un style plutôt moche) pour qui a l’habitude d’utiliser GMP.

Pour ceux que ça intéresse, le problème n°367 me fait de l’œil en ce moment. Et puis bonne année 2015, tant qu’on y est.