Dans cet exemple, vous apprendrez à calculer le LCM (plus petit commun multiple) de deux nombres entrés par l'utilisateur.
Pour comprendre cet exemple, vous devez avoir la connaissance des sujets de programmation C suivants:
- Opérateurs de programmation C
- C if… else Déclaration
- C while and do… while Loop
Le LCM de deux entiers n1 et n2 est le plus petit entier positif parfaitement divisible par n1 et n2 (sans reste). Par exemple, le LCM de 72 et 120 est de 360.
LCM utilisant while et if
#include int main() ( int n1, n2, max; printf("Enter two positive integers: "); scanf("%d %d", &n1, &n2); // maximum number between n1 and n2 is stored in min max = (n1> n2) ? n1 : n2; while (1) ( if (max % n1 == 0 && max % n2 == 0) ( printf("The LCM of %d and %d is %d.", n1, n2, max); break; ) ++max; ) return 0; )
Production
Entrez deux nombres entiers positifs: 72 120 Le LCM de 72 et 120 est 360.
Dans ce programme, les nombres entiers saisis par l'utilisateur sont stockés respectivement dans les variables n1 et n2.
Le plus grand nombre parmi n1 et n2 est stocké dans max. Le LCM de deux nombres ne peut pas être inférieur à max.
L'expression de test de while
loop est toujours vraie.
À chaque itération, on vérifie si max est parfaitement divisible par n1 et n2.
si (min% n1 == 0 && max% n2 == 0) (…)
Si cette condition de test n'est pas vraie, max est incrémenté de 1
et l'itération se poursuit jusqu'à ce que l'expression de test de l' if
instruction soit vraie.
Le LCM de deux nombres peut également être trouvé en utilisant la formule:
LCM = (num1 * num2) / GCD
Apprenez à trouver le GCD de deux nombres en programmation C.
Calcul LCM à l'aide de GCD
#include int main() ( int n1, n2, i, gcd, lcm; printf("Enter two positive integers: "); scanf("%d %d", &n1, &n2); for (i = 1; i <= n1 && i <= n2; ++i) ( // check if i is a factor of both integers if (n1 % i == 0 && n2 % i == 0) gcd = i; ) lcm = (n1 * n2) / gcd; printf("The LCM of two numbers %d and %d is %d.", n1, n2, lcm); return 0; )
Production
Entrez deux nombres entiers positifs: 72 120 Le LCM de deux nombres 72 et 120 est 360.