From 836868d8a2b206dff0eae8bcabd2e71b85ad69cb Mon Sep 17 00:00:00 2001 From: Louis Date: Fri, 29 Sep 2023 15:34:31 +0200 Subject: [PATCH] vault backup: 2023-09-29 15:34:31 --- Algo/Séminaire/Exercices seminaire.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/Algo/Séminaire/Exercices seminaire.md b/Algo/Séminaire/Exercices seminaire.md index 3532aff..d2f4c6a 100644 --- a/Algo/Séminaire/Exercices seminaire.md +++ b/Algo/Séminaire/Exercices seminaire.md @@ -483,7 +483,7 @@ let is_prime n = n = 2 else let rec check d = - if d = n then + if d*d > n then true else if n mod d = 0 then false @@ -493,6 +493,22 @@ let is_prime n = ``` +## 4.13 - Perfect +```Ocaml +let is_perfect n = + if n < 1 then + invalid_arg "is_perfect: undefinded for n < 1" + else + let rec perfect d = + if n mod d = 0 then + if d*d > n then + true + else + perfect (d + 1) + else + + in perfect d;; +``` ## Hanoi ```Ocaml (* displays moves: source -> destination *)