From 1d890744fdd2801182c668f0dd0bcdda17fa0a0f Mon Sep 17 00:00:00 2001 From: Louis Date: Fri, 15 Sep 2023 14:08:51 +0200 Subject: [PATCH] vault backup: 2023-09-15 14:08:51 --- .obsidian/workspace.json | 10 +++++----- Algo/Séminaire/Exercices seminaire.md | 16 ++++++++++++++++ 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 80a707d..3c384ef 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -13,7 +13,7 @@ "state": { "type": "markdown", "state": { - "file": "Algo/Séminaire/Introduction.md", + "file": "Algo/Séminaire/Exercices seminaire.md", "mode": "source", "source": false } @@ -85,7 +85,7 @@ "state": { "type": "backlink", "state": { - "file": "Algo/Séminaire/Introduction.md", + "file": "Algo/Séminaire/Exercices seminaire.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -102,7 +102,7 @@ "state": { "type": "outgoing-link", "state": { - "file": "Algo/Séminaire/Introduction.md", + "file": "Algo/Séminaire/Exercices seminaire.md", "linksCollapsed": false, "unlinkedCollapsed": true } @@ -125,7 +125,7 @@ "state": { "type": "outline", "state": { - "file": "Algo/Séminaire/Introduction.md" + "file": "Algo/Séminaire/Exercices seminaire.md" } } }, @@ -158,11 +158,11 @@ }, "active": "0d2d422aa24bb900", "lastOpenFiles": [ + "Algo/Séminaire/Introduction.md", "Algo/Séminaire/Chapter 5 - Recursivity.md", "Algo/Séminaire/Chapter 3 - Case analysis.md", "Algo/Séminaire/Chapter 2 - Functions.md", "Algo/Séminaire/Chapter 4 - A bit of imperative.md", - "Algo/Séminaire/Introduction.md", "Algo/Séminaire/Chapter 1 - CAML basics.md", "Algo/Séminaire/Exercices seminaire.md", "Algo/Séminaire/assets/exception-meme.png", diff --git a/Algo/Séminaire/Exercices seminaire.md b/Algo/Séminaire/Exercices seminaire.md index 8390611..c0006f1 100644 --- a/Algo/Séminaire/Exercices seminaire.md +++ b/Algo/Séminaire/Exercices seminaire.md @@ -331,6 +331,22 @@ let rec reverse_int n = ``` +## Exercise 4.9 - Correction +```Ocaml +# let reverse = function + | 0 -> " " + | n -> string_of_int(n mod 10) ^ reverse(n/10);; +val reverse : int -> string = + +# let reverse_int = + let rec rev org new_ = + if org < 10 then + new_ * 10 + org + else + rev (org/10)(new*10 + org mod 10) + in rev n 0;; +``` + ## Exercise 4.10 ```Ocaml