Prog Caml : Fonction etapes_syracuses

En réalisant plusieurs tests, vous pouvez vous rendre compte que le nombre d'étapes nécessaires avant d'arriver à 1 est très variable selon l'entier de départ. Essayez donc d'obtenir, pour chaque valeur de départ compris entre 1 et 100, le nombre d'étapes nécessaires pour arriver à 1.

Limites de temps et de mémoire (Python)

  • Temps : 4 s sur une machine à 1 GHz.
  • Mémoire : 1 000 ko.

Commentaires

Code à compléter Caml

let read_int() = Scanf.scanf " %d" (fun x -> x);;
 
let syracuse p =
(*à compléter*)
  in
 


let etapes_syracuses depart =
(*à compléter *)
in

print_int ( etapes_syracuses (read_int ()))

Source : https://www.france-ioi.org/ Créé par : Arthur Charguéraud.