[TP1 + cours] Listes / Tableaux
This commit is contained in:
parent
3e47e865b4
commit
d74937dce1
@ -36,7 +36,7 @@ let rec concatener listes = match longueur listes with
|
||||
| 1 -> List.hd listes
|
||||
| 2 -> (List.hd listes)@(List.hd (List.tl listes))
|
||||
| _ -> concatener ([(List.hd listes)@(List.hd (List.tl listes))]@(List.tl (List.tl listes)));;
|
||||
concatener [[1;2;3];[2;1;3];[4;5;1;3];[1]];;
|
||||
concatener [[1;2;3];[2;1;3];[];[4;5;1;3];[1]];;
|
||||
concatener [];;
|
||||
List.concat [];;
|
||||
|
||||
@ -44,18 +44,22 @@ List.concat [];;
|
||||
|
||||
|
||||
|
||||
let rec recherche_dichomotique a v =
|
||||
if Array.length v = 0 then false
|
||||
else if a = v.((Array.length v)/2) then true
|
||||
else if a < v.((Array.length v)/2)
|
||||
then recherche_dichomotique a (Array.sub v 0 ((Array.length v)/2))
|
||||
else recherche_dichomotique a (Array.sub v ((Array.length v)/2+1) ((Array.length v)/2));;
|
||||
let rec recherche_dicho d f a v =
|
||||
let c = (f - d)/2 in
|
||||
if c = 0 then false
|
||||
else if a = v.(c) then true
|
||||
else if a < v.(c)
|
||||
then recherche_dicho d c a v
|
||||
else recherche_dicho c f a v;;
|
||||
|
||||
let recherche_dichotomique a v =
|
||||
recherche_dicho 0 (Array.length v) a v;;
|
||||
|
||||
recherche_dichotomique (-5) [|1;2;3;4;5;6;7;8;9;10;11|];;
|
||||
|
||||
|
||||
(*Exercice 5*)
|
||||
let est_phermier n = (*on prend un n >=2*)
|
||||
let est_premier n = (*on prend un n >=2*)
|
||||
let t = ref true in
|
||||
if n = 2 then ()
|
||||
else for i = 2 to n/2 do
|
||||
@ -63,22 +67,14 @@ let est_phermier n = (*on prend un n >=2*)
|
||||
done ;
|
||||
!t;;
|
||||
|
||||
est_phermier 17;;
|
||||
est_phermier 14;;
|
||||
est_premier 17;;
|
||||
est_premier 14;;
|
||||
|
||||
|
||||
let est_vrm_phermier n = (* on prend aussi un n >=2*)
|
||||
(*let est_vrm_premier n = (* on prend aussi un n >=2*)
|
||||
let t = ref true and i = ref 2 in
|
||||
while !i <=(n/2) && !t do
|
||||
if (n mod !i) = 0 then t := false;
|
||||
i := !i + 1
|
||||
done;
|
||||
!t;;
|
||||
|
||||
|
||||
est_vrm_phermier 17;;
|
||||
est_vrm_phermier 17;;
|
||||
est_vrm_phermier 14;;
|
||||
est_vrm_phermier 14;;
|
||||
est_vrm_phermier 17;;
|
||||
est_vrm_phermier 13;;
|
||||
!t;;*)
|
16
spe/cours/cous 2.ml
Normal file
16
spe/cours/cous 2.ml
Normal file
@ -0,0 +1,16 @@
|
||||
let catalan n =
|
||||
let t = Array.make (n+1) 0 in
|
||||
t.(0) <- 1;
|
||||
for i=1 to n do
|
||||
for k=0 to i-1 do
|
||||
t.(i) <- (t.(k)*t.(i-1-k)) + t.(i)
|
||||
done
|
||||
done;
|
||||
t.(n);;
|
||||
|
||||
catalan 5;;
|
||||
|
||||
let rec est_triee l = match l with
|
||||
| [] -> true
|
||||
| [a] -> true
|
||||
| a::(b::t) -> a<=b && est_triee b::t;;
|
Loading…
Reference in New Issue
Block a user