Introduction
Dans ce laboratoire, nous allons écrire un programme C pour trouver le PPCM (Plus Petit Commun Multiple) de deux nombres en utilisant la récursion. Le PPCM est le plus petit entier positif qui est divisible par les deux nombres sans laisser de reste.
Comprendre le concept de PPCM
Avant de commencer la programmation, comprenons le concept de PPCM. Le PPCM de deux entiers est le plus petit entier positif qui est un multiple des deux nombres. Pour trouver le PPCM de deux nombres, nous pouvons utiliser la formule suivante :
PPCM = (nombre1 * nombre2) / PGCD
Où nombre1 et nombre2 sont les deux nombres pour lesquels nous devons trouver le PPCM et PGCD est le Plus Grand Commun Diviseur des deux nombres.
Créer un nouveau fichier C
Créons un nouveau fichier C nommé main.c dans le répertoire ~/projet/ où nous allons écrire notre programme.
Écrire le code
Copiez et collez le code suivant dans le fichier main.c.
#include<stdio.h>
int find_lcm(int, int); // déclaration de prototype de fonction
int main()
{
int a, b, lcm;
printf("Entrez deux entiers pour trouver le PPCM :\n");
scanf("%d %d", &a, &b);
lcm = find_lcm(a, b); // appel de fonction
printf("Le PPCM de %d et %d est %d.\n", a, b, lcm);
return 0;
}
int find_lcm(int a, int b) // définition de fonction
{
static int temp = 1;
if(temp % a == 0 && temp % b == 0)
return temp;
else
{
temp++;
find_lcm(a, b);
return temp;
}
}
Compiler et exécuter le programme
Enregistrez le fichier main.c et compilez le programme à l'aide de la commande suivante dans le terminal :
gcc main.c -o main
Exécutez le programme à l'aide de la commande suivante :
./main
Entrez deux entiers lorsque vous y êtes invité et le programme affichera le PPCM des deux nombres.
Comprendre le code
Comprenons le code que nous venons d'écrire.
- Nous incluons d'abord la bibliothèque d'entrée/sortie standard dans notre programme en utilisant
#include<stdio.h>. - Nous déclarons le prototype de la fonction
find_lcmque nous définirons plus tard dans notre programme. Cela est nécessaire car nous appelons la fonctionfind_lcmdans notre fonction principale avant sa définition réelle. - Dans la fonction principale, nous déclarons trois variables entières
a,betlcm. - Nous invitons l'utilisateur à entrer deux entiers en utilisant
printfet acceptons l'entrée en utilisantscanf. - Nous appelons ensuite la fonction
find_lcmet passonsaetbcomme arguments. - La fonction
find_lcmprend deux arguments entiersaetbet renvoie le PPCM des deux nombres en utilisant la récursion. - Nous initialisons une variable statique
tempà 1, qui contiendra la valeur actuelle que nous vérifions pour un multiple. - Dans chaque récursion, nous vérifions si
tempest un multiple deaet deb. - Si c'est un multiple, nous renvoyons
tempcomme PPCM. - Si ce n'est pas un multiple, nous incrémentons
tempet appelons la fonctionfind_lcmde manière récursive jusqu'à ce que nous trouvions le PPCM.
Tester le programme
Testez le programme avec différentes valeurs d'entrée et vérifiez qu'il produit la sortie correcte pour le PPCM.
Code complet
Voici le code complet du programme C pour trouver le PPCM de deux nombres en utilisant la récursion :
#include<stdio.h>
int find_lcm(int, int); // déclaration de prototype de fonction
int main()
{
int a, b, lcm;
printf("Entrez deux entiers pour trouver le PPCM :\n");
scanf("%d %d", &a, &b);
lcm = find_lcm(a, b); // appel de fonction
printf("Le PPCM de %d et %d est %d.\n", a, b, lcm);
return 0;
}
int find_lcm(int a, int b) // définition de fonction
{
static int temp = 1;
if(temp % a == 0 && temp % b == 0)
return temp;
else
{
temp++;
find_lcm(a, b);
return temp;
}
}
Résumé
Dans ce laboratoire, nous avons appris à écrire un programme C pour trouver le PPCM de deux nombres en utilisant la récursion. Nous avons utilisé une fonction récursive pour trouver le PPCM et avons expliqué chaque étape du programme en détail. Nous avons également appris à compiler et exécuter un programme C à l'aide du terminal.



