diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index ae9c3ad..2e8c427 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -4,16 +4,16 @@ "type": "split", "children": [ { - "id": "0d9f5c8120398136", + "id": "d1d0fb84c1c51d46", "type": "tabs", "children": [ { - "id": "fda975f18bd89b49", + "id": "2eaee722b622a4ab", "type": "leaf", "state": { "type": "markdown", "state": { - "file": "Methodologie/Gestion.md", + "file": "Algo/Séminaire/Exercices seminaire.md", "mode": "source", "source": false } @@ -85,7 +85,7 @@ "state": { "type": "backlink", "state": { - "file": "Methodologie/Gestion.md", + "file": "Algo/Séminaire/Exercices seminaire.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -102,7 +102,7 @@ "state": { "type": "outgoing-link", "state": { - "file": "Methodologie/Gestion.md", + "file": "Algo/Séminaire/Exercices seminaire.md", "linksCollapsed": false, "unlinkedCollapsed": true } @@ -125,7 +125,7 @@ "state": { "type": "outline", "state": { - "file": "Methodologie/Gestion.md" + "file": "Algo/Séminaire/Exercices seminaire.md" } } }, @@ -156,10 +156,10 @@ "command-palette:Open command palette": false } }, - "active": "fda975f18bd89b49", + "active": "2eaee722b622a4ab", "lastOpenFiles": [ - "README.md", "Methodologie/Gestion.md", + "README.md", "Algo/Séminaire/Remediation.md", "COM-ADMR/Séjour international EPITA.md", "Algo/Séminaire/Exercices seminaire.md", diff --git a/Algo/Séminaire/Exercices seminaire.md b/Algo/Séminaire/Exercices seminaire.md index bb243f4..590c52c 100644 --- a/Algo/Séminaire/Exercices seminaire.md +++ b/Algo/Séminaire/Exercices seminaire.md @@ -382,5 +382,18 @@ let rec puissance_better x n = let pb = puissance_better x (n/2) in pb*pb else let pb_odd = puissance_better x (n/2) * n in pb_odd*pb_odd;; - + +(*Correction*) +let power x n = match n with + | 0 -> (match x with + | 0. -> failwith "power 0^0 impossible" + | _ -> 1.) + | _ -> (match x with + | 1. -> 1. + | 0. -> 0. + | -1. -> if n mod 2 = 0 then 1. else -1.) + | _ -> (let rec p = function + | 0 -> 1. + | n -> x*.p(n-1) in p n) + ;; ``` \ No newline at end of file