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",
"lastOpenFiles": [
"COM-ADMR/Séjour international EPITA.md",
"Algo/Séminaire/Chapter 5 - Recursivity.md",
"Algo/Séminaire/Exercices seminaire.md",
"COM-ADMR/Séjour international EPITA.md",
"Algo/CM/CM du 27 septembre.md",
"Algo/CM",
"Electronic/Lecture 1.md",
@ -173,7 +174,6 @@
"English",
"README.md",
"Algo/Séminaire/Remediation.md",
"Algo/Séminaire/Chapter 5 - Recursivity.md",
"COM-ADMR",
"Methodologie",
"Algo/Séminaire/Chapter 4 - A bit of imperative.md",

View File

@ -499,13 +499,28 @@ let is_perfect n =
if n < 1 then
invalid_arg "is_perfect: undefinded for n < 1"
else
let rec perfect n d =
if n mod d = 0 then
else if d*d > n then
true
let rec perfect d =
if d = n then
1
else if n mod d > n then
d + perfect (d + 1)
else
perfect (d + 1)
in perfect n d;;
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
```Ocaml