Prog Caml : Fonction syracuse

On va maintenant étudier la remarquable suite de Syracuse.

Pour commencer, il faut définir la fonction de Syracuse. Cette fonction, nommée syracuse, prend en paramètre un entier nommé p. Si p est pair, elle renvoie p / 2 (la moitié de p). Si p est impair, elle renvoie 3 * p + 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

print_int (syracuse (read_int()));;

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