ioCode
Syracuse
Impératif • Exercices 1A
La suite de Syracuse est défnie par :
Même si on ne l'a pas démontré, on observe qu'il existe un rang pour lequel vaut 1. On nomme le temps de vol de la suite.
- Écrire une fonction1IndiceVérifier la parité de l'entier pour appliquer la formule de transformation correspondante. Modulo en OCaml s'écrit
a mod b.next : int -> intqui renvoie le terme suivant de la suite de Syracuse. Par exemplenext 3renvoie10. - Écrire une fonction2IndiceInitialiser un compteur et une référence puis itérer jusqu'à atteindre un pour retourner le nombre d'étapes.
syracuse : int -> intqui renvoie le temps de vol de la suite à partir d'un entier initial. Par exemplesyracuse 3renvoie7.
Langage
Console initialisée. En attente de l'interpréteur...