ajout TP ocaml
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.git
|
||||
29
algo/ocaml/TPs/tp.ml
Normal file
29
algo/ocaml/TPs/tp.ml
Normal file
@@ -0,0 +1,29 @@
|
||||
|
||||
|
||||
(*myst 100;;*)
|
||||
|
||||
(*Fonction aux -----------*)
|
||||
let sum x = (x mod 10)+(x /10);;(*somme des 4 chiffres*)
|
||||
|
||||
let mirror x =(*inverse deux chiffres*)
|
||||
let u = x mod 10 and d = x/10 in
|
||||
u*10 +d;;
|
||||
|
||||
let pal x = mirror(x mod 100) = x /100;;(* retourne true si x est un palindrome*)
|
||||
|
||||
let parfait x =
|
||||
int_of_float (sqrt(float_of_int x )*. 100.) mod 100 = 0;;
|
||||
|
||||
(*---------------*)
|
||||
|
||||
let ctc x =
|
||||
if x/10 mod 2=0&&(x mod 10)mod 2<>0 then(* verif 3 pairs plus le dernier *)
|
||||
if (sum(x mod 100)+sum(x/100))=9 then(* verfif somme = a 9*)
|
||||
if x mod 25 = 0 then (*verfi divisible par 25*)
|
||||
if pal (mirror(234 mod 100)*100 + mirror(1234 / 100)) = true then (*Verfir palindrome*)
|
||||
if parfait x = true then x
|
||||
else invalid_arg "Faux pas bon nombre"
|
||||
else invalid_arg "Faux pas bon nombre"
|
||||
else invalid_arg"Faux pas bon nombre"
|
||||
else invalid_arg"Faux pas bon nombre"
|
||||
else invalid_arg"Faux pas bon nombre";;
|
||||
0
algo/ocaml/tp.ml
Normal file
0
algo/ocaml/tp.ml
Normal file
Reference in New Issue
Block a user