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.

TIME AND MEMORY LIMITS (Python)

  • Time: 4s on a 1GHz machine.
  • Memory: 1,000 KB.

COMMENTS

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. Created by : Arthur Charguéraud.