let rec hanoi n src dest spare = if n = 0 then () else ( hanoi (n - 1) src spare dest; print_endline ("Move disk " ^ string_of_int n ^ " from " ^ src ^ " to " ^ dest); hanoi (n - 1) spare dest src );; hanoi 2 "A" "B" "C";; let rec fibonacciterm n current next = match n with | 0 -> current | 1 -> next | _ -> fibonacciterm (n - 1) next (current + next);; let rec max_index lst start = if start = (List.length lst) - 1 then start (* Cas de base : le dernier élément de la liste *) else let max_idx = max_index lst (start + 1) in if List.nth lst start >= List.nth lst max_idx then start else max_idx