Maison  >  Article  >  développement back-end  >  Un tutoriel simple et facile à comprendre sur la résolution du plus grand diviseur commun en langage C

Un tutoriel simple et facile à comprendre sur la résolution du plus grand diviseur commun en langage C

WBOY
WBOYoriginal
2024-02-20 19:12:03777parcourir

Un tutoriel simple et facile à comprendre sur la résolution du plus grand diviseur commun en langage C

Tutoriel simple et facile à comprendre sur la résolution du plus grand diviseur commun en langage C

1 Introduction
En mathématiques, le plus grand diviseur commun (PGCD) fait référence au plus grand entier positif qui peut diviser deux entiers ou plus. . La recherche du plus grand diviseur commun est très courante en programmation et peut être utilisée pour simplifier les fractions, les proportions et les opérations sur les nombres entiers. Cet article explique comment utiliser le langage C pour écrire un programme simple de résolution du plus grand diviseur commun, y compris des exemples de code spécifiques.

2. Analyse d'algorithme
Ce tutoriel utilisera la méthode de division euclidienne pour résoudre le plus grand diviseur commun. L'idée de base est la suivante : deux entiers positifs a et b (a>b), si a peut diviser b, alors b est le plus grand diviseur commun des deux, sinon trouvez le reste des deux diviseurs et utilisez le reste comme nouveau ; dividende , le dividende initial devient le diviseur et le reste est recalculé. Répétez ce processus jusqu'à ce que le reste soit égal à 0, auquel cas le diviseur d'origine est le plus grand diviseur commun.

3. Implémentation du code
Ce qui suit est un exemple de code d'un solveur simple du plus grand diviseur commun en langage C :

#include <stdio.h>

// 函数声明
int gcd(int a, int b);

int main() {
    int a, b;
    printf("请输入两个正整数:");
    scanf("%d %d", &a, &b);

    int result = gcd(a, b);
    printf("最大公约数是:%d
", result);

    return 0;
}

// 函数定义
int gcd(int a, int b) {
    if (a < b) {
        int temp = a;
        a = b;
        b = temp;
    }
    
    while (b != 0) {
        int temp = a % b;
        a = b;
        b = temp;
    }
    
    return a;
}

4 Analyse du code

  1. Tout d'abord, nous incluons le fichier d'en-tête stdio.h dans le programme pour utiliser le. Fonction de sortie d'entrée. Ensuite, nous déclarons une fonction appelée pgcd pour trouver le plus grand diviseur commun.
  2. Dans la fonction principale, nous définissons d'abord deux variables entières a et b. L'utilisateur peut définir les valeurs de ces deux variables en les saisissant.
  3. Ensuite, nous appelons la fonction pgcd, en passant a et b comme paramètres pour obtenir le plus grand diviseur commun.
  4. Enfin, nous imprimons le plus grand diviseur commun et terminons le programme.
  5. Dans la fonction pgcd, nous déterminons d'abord si a est inférieur à b, et si c'est le cas, échangeons les valeurs des deux variables pour nous assurer que a est toujours supérieur à b.
  6. Ensuite, nous utilisons une boucle while pour effectuer le calcul de la division euclidienne. Chaque calcul attribue le diviseur (b) au reste (temp), attribue le reste au diviseur et répète ce processus jusqu'à ce que le reste soit 0.
  7. Enfin, nous renvoyons le plus grand diviseur commun (c'est-à-dire le diviseur lorsque le reste est 0) à l'appelant.

5. Exemple d'utilisation
Supposons que nous devions résoudre le plus grand diviseur commun de 40 et 64. Nous pouvons utiliser le programme ci-dessus en suivant les étapes suivantes :

  1. Compilez et exécutez le programme.
  2. Dans la fenêtre de ligne de commande, entrez deux entiers positifs 40 et 64 comme vous y êtes invité.
  3. Le programme affichera le plus grand diviseur commun 24.

6. Résumé
Ce tutoriel présente en détail comment utiliser le langage C pour écrire un programme de résolution du plus grand diviseur commun simple et facile à comprendre. En utilisant la méthode euclidienne, nous pouvons facilement trouver le plus grand commun diviseur de deux entiers positifs. J'espère que cet article sera utile aux lecteurs qui souhaitent apprendre ou utiliser le langage C pour résoudre le plus grand diviseur commun.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn