Introduction
En programmation C, le PPCM (Plus Petit Commun Multiple) est souvent calculé. Deux méthodes différentes sont couramment utilisées pour trouver le PPCM. Nous pouvons utiliser l'algorithme d'Euclide et calculer le PPCM par soustraction répétée. Dans ce laboratoire étape par étape, nous allons démontrer les deux méthodes.
Utilisation de l'algorithme d'Euclide
L'algorithme d'Euclide, dans lequel le numérateur est remplacé par le reste de l'opération de division, est utilisé pour calculer le PPCM. Lorsque le reste devient zéro, le PPCM est le numérateur.
1.1 Démarrez la solution en déclarant une variable entière nommée a et b.
int a, b;
1.2 Ensuite, demandez à l'utilisateur d'entrer les valeurs de a et b.
printf("Entrez deux nombres : \n");
scanf("%d %d", &a, &b);
1.3 Ensuite, créez une boucle while qui s'exécute jusqu'à ce que le reste de a divisé par b soit zéro.
while(a!=b)
{
if(a>b)
a=a-b;
else
b=b-a;
}
1.4 Enfin, affichez le PPCM des deux nombres.
printf("Le PPCM des deux nombres est %d", a);
Utilisation de la méthode de soustraction répétée
Dans cette méthode, le PPCM est calculé en soustrayant répétitivement la valeur la plus petite de la valeur la plus grande jusqu'à ce qu'elles deviennent égales. Si les deux deviennent égales, alors ce nombre est le PPCM.
2.1 Commencez par une variable entière nommée num initialisée à 0.
int num = 0;
2.2 Déclarez une variable entière nommée x et initialisez-la à 2.
int x = 2;
2.3 Demandez à l'utilisateur d'entrer le nombre d'entiers pour trouver le PPCM.
printf("Entrez le nombre d'entiers pour lesquels vous voulez trouver le PPCM : ");
scanf("%d", &num);
2.4 Ensuite, demandez à l'utilisateur d'entrer les nombres.
printf("Entrez %d nombres :\n", num);
int arr[num];
for(int i = 0; i < num; i++)
{
scanf("%d", &arr[i]);
}
2.5 Maintenant, nous pouvons calculer le PPCM en prenant les valeurs d'entrée et en utilisant la méthode de soustraction répétée. Nous appellerons la fonction gcd() pour calculer le PPCM des valeurs d'entrée.
int result = arr[0];
for(int i = 1; i < num; i++)
{
result = gcd(result, arr[i]);
}
Combiner les méthodes
Dans cette étape, nous allons combiner les méthodes pour terminer l'implémentation.
3.1 Déclarez une fonction gcd() à utiliser pour trouver le PPCM par la méthode de soustraction répétée.
int gcd(int a, int b)
{
if(b==0)
return a;
else if(a >= b && b > 0)
return gcd(b,a%b);
else
return gcd(b,a);
}
3.2 Déclarez une nouvelle variable appelée gcd_result et initialisez-la à zéro.
int gcd_result = 0;
3.3 Nous allons créer une nouvelle boucle qui invite l'utilisateur à entrer des nombres jusqu'à ce qu'une valeur d'entrée de 0 soit détectée.
printf("Entrez des nombres. Pour sortir, entrez 0\n");
while(1) // boucle infinie pour prendre des entrées
{
int num;
scanf("%d", &num);
if(num < 1)
break;
else if(gcd_result == 0)
gcd_result = num;
else if(num < gcd_result)
gcd_result = gcd(num, gcd_result);
else
gcd_result = gcd(gcd_result, num);
}
3.4 Enfin, affichez le résultat final à l'aide de la fonction printf.
printf("Le PPCM de tous les nombres entrés est : %d\n", gcd_result);
Résumé
Dans ce laboratoire, nous avons appris deux méthodes pour calculer le PPCM d'un groupe d'entiers en programmation C : l'algorithme d'Euclide et la méthode de soustraction répétée. Nous avons démontré comment utiliser ces méthodes avec une explication détaillée et des blocs de code exemple. Pour une compréhension plus approfondie, il est recommandé de modifier et d'exécuter le code dans le fichier main.c.



