Introduction
Dans ce laboratoire, vous apprendrez à trouver le Plus Petit Multiple Commun (PPCM) de deux entiers en utilisant le langage C. Le laboratoire couvre le processus étape par étape, en commençant par la lecture de deux entiers à partir de l'entrée utilisateur, puis en implémentant la formule PPCM = (a*b)/PGCD(a,b) pour calculer le PPCM, et enfin en imprimant le résultat. À la fin de ce laboratoire, vous aurez une compréhension solide de la manière d'appliquer les concepts de théorie des nombres, tels que l'algorithme d'Euclide pour trouver le Plus Grand Commun Diviseur (PGCD), pour résoudre des problèmes pratiques en C.
Lecture de deux entiers
Dans cette étape, vous apprendrez à lire deux entiers à partir de l'entrée utilisateur en programmation C, ce qui est la première étape du calcul du Plus Petit Multiple Commun (PPCM).
Tout d'abord, créons un nouveau fichier C pour notre programme PPCM :
cd ~/project
nano lcm.c
Maintenant, ajoutez le code suivant pour lire deux entiers :
#include <stdio.h>
int main() {
int a, b;
printf("Entrez deux entiers positifs :\n");
printf("Premier nombre : ");
scanf("%d", &a);
printf("Second nombre : ");
scanf("%d", &b);
printf("Vous avez entré : %d et %d\n", a, b);
return 0;
}
Compilez et exécutez le programme :
gcc lcm.c -o lcm
./lcm
Exemple de sortie :
Entrez deux entiers positifs :
Premier nombre : 12
Second nombre : 18
Vous avez entré : 12 et 18
Décomposons le code :
- La fonction
scanf()est utilisée pour lire l'entrée entière de l'utilisateur. - Le spécificateur de format
%dest utilisé pour l'entrée entière. &aet&btransmettent les adresses mémoire où les valeurs d'entrée seront stockées.
Utilisation de PPCM = (a*b)/PGCD(a,b)
Dans cette étape, vous implémenterez le calcul du Plus Petit Multiple Commun (PPCM) en utilisant la formule PPCM(a,b) = (a*b)/PGCD(a,b). Nous allons d'abord créer une fonction pour calculer le Plus Grand Commun Diviseur (PGCD) à l'aide de l'algorithme d'Euclide.
Mettez à jour le fichier lcm.c avec le code suivant :
#include <stdio.h>
// Fonction pour calculer le PGCD à l'aide de l'algorithme d'Euclide
int calculateGCD(int a, int b) {
while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
return a;
}
// Fonction pour calculer le PPCM
int calculateLCM(int a, int b) {
return (a * b) / calculateGCD(a, b);
}
int main() {
int a, b, ppcm;
printf("Entrez deux entiers positifs :\n");
printf("Premier nombre : ");
scanf("%d", &a);
printf("Second nombre : ");
scanf("%d", &b);
ppcm = calculateLCM(a, b);
printf("Le Plus Petit Multiple Commun de %d et %d est : %d\n", a, b, ppcm);
return 0;
}
Compilez et exécutez le programme :
gcc lcm.c -o lcm
./lcm
Exemple de sortie :
Entrez deux entiers positifs :
Premier nombre : 12
Second nombre : 18
Le Plus Petit Multiple Commun de 12 et 18 est : 36
Décomposons les composants clés :
calculateGCD()implémente l'algorithme d'Euclide pour trouver le Plus Grand Commun Diviseur.calculateLCM()utilise la formule PPCM(a,b) = (a*b)/PGCD(a,b).- L'algorithme d'Euclide trouve efficacement le PGCD en calculant les restes successivement.
Affichage du PPCM
Dans cette dernière étape, vous exécuterez le programme PPCM et vérifierez sa sortie pour différentes combinaisons d'entrées. Nous testerons le programme avec différentes paires d'entiers pour démontrer le calcul du PPCM.
Compilez le programme (si ce n'est pas déjà fait) :
cd ~/project
gcc lcm.c -o lcm
Exécutez le programme avec différentes combinaisons d'entrées :
./lcm << EOF
12
18
EOF
Exemple de sortie pour 12 et 18 :
Entrez deux entiers positifs :
Premier nombre : 12
Second nombre : 18
Le Plus Petit Multiple Commun de 12 et 18 est : 36
Essayons un autre exemple :
./lcm << EOF
15
25
EOF
Exemple de sortie pour 15 et 25 :
Entrez deux entiers positifs :
Premier nombre : 15
Second nombre : 25
Le Plus Petit Multiple Commun de 15 et 25 est : 75
Points clés à comprendre :
- Le PPCM est le plus petit entier positif divisible par les deux nombres d'entrée.
- Pour 12 et 18, le PPCM est 36.
- Pour 15 et 25, le PPCM est 75.
- Le programme utilise la formule PPCM(a,b) = (a*b)/PGCD(a,b).
Pour rendre le programme plus robuste, vous pouvez ajouter une validation des entrées :
nano lcm.c
Mettez à jour la fonction main() pour inclure la validation des entrées :
int main() {
int a, b, ppcm;
printf("Entrez deux entiers positifs :\n");
printf("Premier nombre : ");
scanf("%d", &a);
printf("Second nombre : ");
scanf("%d", &b);
// Validation des entrées
if (a <= 0 || b <= 0) {
printf("Erreur : Veuillez entrer uniquement des entiers positifs.\n");
return 1;
}
ppcm = calculateLCM(a, b);
printf("Le Plus Petit Multiple Commun de %d et %d est : %d\n", a, b, ppcm);
return 0;
}
Recompiler et tester le programme mis à jour :
gcc lcm.c -o lcm
./lcm
Résumé
Dans ce laboratoire, vous apprendrez à trouver le Plus Petit Multiple Commun (PPCM) de deux entiers en programmation C. Tout d'abord, vous lirez deux entiers à partir de l'entrée utilisateur. Ensuite, vous implémenterez la formule PPCM(a,b) = (a*b)/PGCD(a,b) en créant une fonction pour calculer le Plus Grand Commun Diviseur (PGCD) à l'aide de l'algorithme d'Euclide. Enfin, vous afficherez le PPCM calculé.
Les points clés à retenir sont : la lecture d'entrées entières à l'aide de scanf(), l'implémentation de l'algorithme d'Euclide pour trouver le PGCD et l'utilisation de la formule pour calculer le PPCM. À la fin de ce laboratoire, vous aurez une bonne compréhension de la façon de trouver le PPCM de deux nombres en C.



