(* Affichage du triangle de Pascal sur la sortie standard. *)
let afficher triangle =
let rec loop max ligne = function
| i when i = max -> Printf.printf "%i\n" ligne.(i)
| i -> Printf.printf "%i " ligne.(i) ;
loop max ligne (i + 1)
in Array.iter (fun ligne -> loop (Array.length ligne - 1) ligne 0) triangle
(* Calcul des termes du triangle de Pascal. Exemple d'utilisation : afficher (triangle 10) *)
let pascal n =
let triangle = Array.init n (fun i -> Array.make (i + 1) 1) in
for i = 2 to n - 1 do
for j = 1 to Array.length triangle.(i) - 2 do
triangle.(i).(j) <- triangle.(i - 1).(j - 1) + triangle.(i - 1).(j)
done
done ;
triangle
Remarque :
Cette fonction calcule toutes les lignes du triangle de Pascal jusqu'à n. Version impérative qui exploite la relation (i, j) = (i - 1, j - 1) + (i - 1, j).