La conjecture de Collatz, ou problème 3x+1, peut se résumer ainsi :
Prenons un entier positif n quelconque. Si n est pair, on le divise par 2 pour obtenir n / 2. Si n est impair, on le multiplie par 3 et on ajoute 1 pour obtenir 3n + 1. On répète le processus indéfiniment. La conjecture affirme que, quel que soit le nombre de départ, on finit toujours par atteindre 1.
Étant donné un nombre n, renvoie le nombre d'étapes nécessaires pour atteindre 1.
En partant de n = 12, les étapes sont les suivantes :
Ce qui donne 9 étapes. Ainsi, pour l'entrée n = 12, la valeur de retour est 9.
Inscris-toi sur Exercism pour apprendre et maîtriser Haskell avec 107 exercices, et un vrai mentorat humain, le tout gratuitement.