let factorielle1 n = let p = ref 1 in for i = 1 to n do p := !p * i done; !p ;; factorielle1 5;; let maximum t = let max = ref 0 in for i = 0 to Array.length t - 1 do if t.(i) > !max then max := t.(i) done; !max ;; let recherche t x = let n = Array.length t and i = ref 0 in while !i < n && t.(!i) <> x do i := !i + 1 done; !i < n ;; let rec factorielle2 n = if n = 0 then 1 else n * factorielle2 (n - 1);; let rec pgcd a b = if b = 0 then a else pgcd b (a mod b);; let min3 a b c = if a <= b && a <= c then a else if b <= a && b <= c then b else c;; let puissance x n = let p = ref 1 in for k = 1 to n do p := !p * x done; !p ;;