vault backup: 2023-09-14 21:33:26
This commit is contained in:
parent
db3377799d
commit
907869bee6
18
.obsidian/workspace.json
vendored
18
.obsidian/workspace.json
vendored
@ -13,7 +13,7 @@
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "Algo/Séminaire/Chapter 5 - Recursivity.md",
|
||||
"file": "Algo/Séminaire/Exercices seminaire.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
}
|
||||
@ -85,7 +85,7 @@
|
||||
"state": {
|
||||
"type": "backlink",
|
||||
"state": {
|
||||
"file": "Algo/Séminaire/Chapter 5 - Recursivity.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/Chapter 5 - Recursivity.md",
|
||||
"file": "Algo/Séminaire/Exercices seminaire.md",
|
||||
"linksCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
}
|
||||
@ -125,7 +125,7 @@
|
||||
"state": {
|
||||
"type": "outline",
|
||||
"state": {
|
||||
"file": "Algo/Séminaire/Chapter 5 - Recursivity.md"
|
||||
"file": "Algo/Séminaire/Exercices seminaire.md"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -158,19 +158,19 @@
|
||||
},
|
||||
"active": "0d2d422aa24bb900",
|
||||
"lastOpenFiles": [
|
||||
"Algo/Séminaire/Chapter 4 - A bit of imperative.md",
|
||||
"Algo/Séminaire/Chapter 3 - Case analysis.md",
|
||||
"Algo/Séminaire/Introduction.md",
|
||||
"Algo/Séminaire/Chapter 2 - Functions.md",
|
||||
"Algo/Séminaire/Chapter 1 - CAML basics.md",
|
||||
"Algo/Séminaire/Chapter 3 - Case analysis.md",
|
||||
"Algo/Séminaire/Exercices seminaire.md",
|
||||
"Algo/Séminaire/Chapter 5 - Recursivity.md",
|
||||
"Algo/Séminaire/Chapter 4 - A bit of imperative.md",
|
||||
"Algo/Séminaire/Chapter 1 - CAML basics.md",
|
||||
"Algo/Séminaire/assets/exception-meme.png",
|
||||
"Algo/Séminaire/assets/filter-meme.png",
|
||||
"Algo/Séminaire/assets/if-meme.png",
|
||||
"Algo/Séminaire/Exercices seminaire.md",
|
||||
"Algo/Séminaire/assets/basics-meme.png",
|
||||
"Algo/Séminaire/assets/functions-meme.jpg",
|
||||
"Algo/Séminaire/assets/unitaire-meme.png",
|
||||
"Algo/Séminaire/Introduction.md",
|
||||
"Algo/Séminaire/assets/fact function response.png",
|
||||
"Algo/Séminaire/assets/recursivite-meme.png",
|
||||
"Pasted image 20230912155138.png",
|
||||
|
@ -305,3 +305,40 @@ let rec quo a b =
|
||||
else
|
||||
1 + quo (a-b) b ;;
|
||||
```
|
||||
|
||||
## Exercise 4.9
|
||||
```Ocaml
|
||||
let rec reverse n =
|
||||
let str_n = string_of_int n in
|
||||
let len = String.length str_n in
|
||||
let rec reverse_helper index =
|
||||
if index < 0 then
|
||||
""
|
||||
else
|
||||
String.make 1 str_n.[index] ^ reverse_helper (index - 1)
|
||||
in
|
||||
reverse_helper (len - 1) ;;
|
||||
|
||||
let rec reverse_int n =
|
||||
let rec reverse_helper acc remaining =
|
||||
if remaining = 0 then
|
||||
acc
|
||||
else
|
||||
let last_digit = remaining mod 10 in
|
||||
let new_acc = acc * 10 + last_digit in
|
||||
let new_remaining = remaining / 10
|
||||
in reverse_helper new_acc new_remaining in reverse_helper 0 n ;;
|
||||
|
||||
```
|
||||
|
||||
## Exercise 4.10
|
||||
|
||||
```Ocaml
|
||||
let rec multiply x y =
|
||||
if x = 0 || y = 0 then
|
||||
0
|
||||
else if x mod 2 = 0 then
|
||||
multiply (x / 2) (y * 2)
|
||||
else
|
||||
y + multiply (x / 2) (y * 2)
|
||||
```
|
||||
|
Loading…
x
Reference in New Issue
Block a user