From bc8e577434350331cc8a8b6a55e8729c4492a07b Mon Sep 17 00:00:00 2001
From: Orestis <orestis.malaspinas@pm.me>
Date: Thu, 4 Nov 2021 23:01:06 +0100
Subject: [PATCH] updated ppcm

---
 slides/cours_7.md | 44 +++++++++++++++++++++++++++++++-------------
 1 file changed, 31 insertions(+), 13 deletions(-)

diff --git a/slides/cours_7.md b/slides/cours_7.md
index 0f00fe8..9f3a940 100644
--- a/slides/cours_7.md
+++ b/slides/cours_7.md
@@ -259,7 +259,27 @@ $$
 $$
 * En moyenne, $\mathcal{O}(N^2)$ ($N^2/2$ comparaisons).
 
-# L'algorithme du PPCM *récursif* (1/2)
+# L'algorithme du PPCM *récursif* (1/3)
+
+## Exemple d'algorithme pour le calcul
+
+```C
+PPCM(36, 90):
+36  < 90  // 36  + 36
+72  < 90  // 72  + 36
+108 > 90  // 90  + 90
+108 < 180 // 108 + 36
+144 < 180 // 144 + 36
+180 = 180 // The End!
+```
+
+. . .
+
+* On incrémente de 36 à gauche et de 90 à droite jusqu'à ce que les deux
+  soient égaux.
+
+
+# L'algorithme du PPCM *récursif* (2/3)
 
 ## Rappel de l'algorithme
 
@@ -283,17 +303,15 @@ int ppcm(int m, int n) {
 ## Écrire l'algorithme *récursif* du PPCM (matrix)
 
 
-# L'algorithme du PPCM *récursif* (1/2)
+# L'algorithme du PPCM *récursif* (3/3)
 
-```C
-int ppcm(int mult_n, int mult_m, int n, int m) {
-    if (mult_n < mult_m) {
-        return ppcm(n + mult_n, mult_m, n, m);
-    } else if (mult_n > mult_m) {
-        return ppcm(mult_n, m + mult_m, n, m);
-    } else {
-        return mult_n;
-    }
-}
-```
+## Pseudo-code
+
+-   Algorithme du PPCM de deux nombres `n` et `m`
+    -   `ppcm(mult_n,mult_m) = ppcm(mult_n + n, mult_m)`    
+        si `mult_n < mult_m`   (récursivité)
+    -   `ppcm(mult_n,mult_m) = ppcm(mult_n, mult_m + m)`    
+        si `mult_n > mult_m`   (récursivité)
+    -   `ppcm(mult_n,mult_m) = mult_n`      
+        si `mult_n = mult_m`   (condition d’arrêt)
 
-- 
GitLab