diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 2547b71..80251a5 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -13,7 +13,7 @@ "state": { "type": "markdown", "state": { - "file": "Algo/Séminaire/Exercices seminaire.md", + "file": "Algo/Séminaire/Chapter 5 - Recursivity.md", "mode": "source", "source": false } @@ -171,9 +171,9 @@ }, "active": "64e3f10f354fdce4", "lastOpenFiles": [ - "Algo/Séminaire/Introduction.md", "Algo/Séminaire/Chapter 5 - Recursivity.md", "Algo/Séminaire/Exercices seminaire.md", + "Algo/Séminaire/Introduction.md", "Algo/Séminaire/Chapter 3 - Case analysis.md", "Algo/Séminaire/Chapter 2 - Functions.md", "Algo/Séminaire/assets/fact function response.png", diff --git a/Algo/Séminaire/Exercices seminaire.md b/Algo/Séminaire/Exercices seminaire.md index cde5f8d..80a98f6 100644 --- a/Algo/Séminaire/Exercices seminaire.md +++ b/Algo/Séminaire/Exercices seminaire.md @@ -271,6 +271,10 @@ let rec add a = function ## Exercise 4.6 ```Ocaml -let rec mult a = function - | a when a = 0 | a when b = 0 -> 0 - | \ No newline at end of file +let rec mult a b = + if a = 0 || b = 0 then + 0 + else if b > 0 then + a + mult a (b - 1) + else + -mult a (-b) ;; \ No newline at end of file