Project Euler: n°323
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.