From c1dde36d108308b4a3d82e5c38d9f513bc8fe09f Mon Sep 17 00:00:00 2001
From: Orestis <orestis.malaspinas@pm.me>
Date: Mon, 25 Oct 2021 17:17:03 +0200
Subject: [PATCH] updated course on fibonacci and recursion

---
 slides/cours_5.md | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/slides/cours_5.md b/slides/cours_5.md
index d8b35a4..1f7c472 100644
--- a/slides/cours_5.md
+++ b/slides/cours_5.md
@@ -850,6 +850,42 @@ int pgcd(int n, int m) {
 }
 ```
 
+# La suite de Fibonacci
+
+## Règle
+
+$$
+\mathrm{Fib}(n) = \mathrm{Fib}(n-1) + \mathrm{Fib}(n-2),\quad
+\mathrm{Fib}(0)=0,\quad \mathrm{Fib}(1)=1.
+$$
+
+## Exercice: écrire la fonction $\mathrm{Fib}$ en récursif et impératif
+
+```C
+int fib(int n) {
+    if (n > 1) {
+        return fib(n - 1) + fib(n - 2);
+    } else {
+        return n;
+    }
+}
+```
+
+```C
+int fib_imp(int n) {
+    int fib0 = 1;
+    int fib1 = 1;
+    int fib  = n == 0 ? 0 : fib1;
+    for (int i = 2; i < n; ++i) {
+        fib  = fib0 + fib1;
+        fib0 = fib1;
+        fib1 = fib;
+    }
+    return fib;
+}
+```
+
+
 # Exercices pour les semaines sans cours
 
 ## Quelques algorithmes à réaliser et poster sur matrix
-- 
GitLab