let somme t i = failwith "à compléter" let est_auto t = failwith "à compléter" (* Fonction qui vous est donnée permettant d'afficher un tableau *) let affiche t = print_string "[|"; Array.iteri (fun i x -> print_int x; if i < Array.length t - 1 then print_string "; ") t; print_string "|]\n" exception Echec let gen_auto n = let t = Array.make n (-1) in let rec remplir_a_partir_de i = if i = n then (* On est arrivé à la fin *) if est_auto t then affiche t else raise Echec else for k = 0 to n - 1 do try t.(i) <- k; (* Début élagage *) (* Fin élagage *) remplir_a_partir_de (i + 1) with Echec -> () done in remplir_a_partir_de 0