vault backup: 2023-09-29 15:58:43

This commit is contained in:
Louis Gallet 2023-09-29 15:58:43 +02:00
parent 81fd480fbd
commit 3471ec7283
Signed by: lgallet
SSH Key Fingerprint: SHA256:qnW7pk4EoMRR0UftZLZQKSMUImbEFsiruLC7jbCHJAY
2 changed files with 24 additions and 9 deletions

View File

@ -158,8 +158,9 @@
}, },
"active": "a968c28ed851e4ad", "active": "a968c28ed851e4ad",
"lastOpenFiles": [ "lastOpenFiles": [
"COM-ADMR/Séjour international EPITA.md", "Algo/Séminaire/Chapter 5 - Recursivity.md",
"Algo/Séminaire/Exercices seminaire.md", "Algo/Séminaire/Exercices seminaire.md",
"COM-ADMR/Séjour international EPITA.md",
"Algo/CM/CM du 27 septembre.md", "Algo/CM/CM du 27 septembre.md",
"Algo/CM", "Algo/CM",
"Electronic/Lecture 1.md", "Electronic/Lecture 1.md",
@ -173,7 +174,6 @@
"English", "English",
"README.md", "README.md",
"Algo/Séminaire/Remediation.md", "Algo/Séminaire/Remediation.md",
"Algo/Séminaire/Chapter 5 - Recursivity.md",
"COM-ADMR", "COM-ADMR",
"Methodologie", "Methodologie",
"Algo/Séminaire/Chapter 4 - A bit of imperative.md", "Algo/Séminaire/Chapter 4 - A bit of imperative.md",

View File

@ -499,13 +499,28 @@ let is_perfect n =
if n < 1 then if n < 1 then
invalid_arg "is_perfect: undefinded for n < 1" invalid_arg "is_perfect: undefinded for n < 1"
else else
let rec perfect n d = let rec perfect d =
if n mod d = 0 then if d = n then
else if d*d > n then 1
true else if n mod d > n then
else d + perfect (d + 1)
perfect (d + 1) else
in perfect n d;; perfect (d + 1)
in perfect d;;
(*v2*)
let is_perfect n =
if n < 1 then
invalid_arg "is_perfect: undefinded for n < 1"
else
let rec perfect d =
if d*d >= n then
1 + (if d*d = n then d else 0)
else if n mod d > n then
d + n/d + sumd (d+1)
else
perfect (d + 1)
in perfect d;;
``` ```
## Hanoi ## Hanoi
```Ocaml ```Ocaml