Skip to content
Snippets Groups Projects
Verified Commit bc8e5774 authored by orestis.malaspin's avatar orestis.malaspin
Browse files

updated ppcm

parent a3288fbd
No related branches found
No related tags found
No related merge requests found
Pipeline #14812 passed
......@@ -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)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment