Trouver le PPCM en programmation C

CCBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/ControlFlowGroup(["Control Flow"]) c(("C")) -.-> c/FunctionsGroup(["Functions"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c/BasicsGroup -.-> c/variables("Variables") c/ControlFlowGroup -.-> c/for_loop("For Loop") c/ControlFlowGroup -.-> c/while_loop("While Loop") c/FunctionsGroup -.-> c/function_declaration("Function Declaration") c/UserInteractionGroup -.-> c/user_input("User Input") subgraph Lab Skills c/variables -.-> lab-123261{{"Trouver le PPCM en programmation C"}} c/for_loop -.-> lab-123261{{"Trouver le PPCM en programmation C"}} c/while_loop -.-> lab-123261{{"Trouver le PPCM en programmation C"}} c/function_declaration -.-> lab-123261{{"Trouver le PPCM en programmation C"}} c/user_input -.-> lab-123261{{"Trouver le PPCM en programmation C"}} end

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.